成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IE CSS Bug系列:高度額外擴展的Bug

開發 前端
盡管這些bug出現在頁面上不是很符合語義,然而那些經驗最豐富的開發者們遲早有一天也可能會遇到這個bug,它讓IE盒模型在解析的時候,在元素上面生成了一個非常小的高度值。

受影響版本

這支bug影響IE6

表現

元素比指定的高度長(主要適用于小的高度)

教程發布時間

2009年7月17日 星期五 09:58:19

問題描述

盡管這些bug出現在頁面上不是很符合語義,然而那些經驗最豐富的開發者們遲早有一天也可能會遇到這個bug,它讓IE盒模型在解析的時候,在元素上面生成了一個非常小的高度值。

當你向這個元素里添加一些文本的時候,這個bug就表現得很明顯了。下面這個示例可以讓你更容易理解

HTML Code:

  1. <div></div> 
  2. <div id="text">Lorem</div> 

CSS Code:

  1. div { 
  2.     height3px
  3.     background#dd0
  4.   
  5. #text { margin10px 0; } /* irrelevant to the bug */ 

首先,我想提醒你注意一下,background和margin屬性跟這個bug無關,我寫上它們僅僅是為了讓你能夠更輕松地把代碼呈現樣式與demo的樣式聯系得更緊密一些。

這個demo呈現了兩個3像素高的線,實際上它們不過是div標簽。其中一個里面包含著單詞“Lorem”,在任何一個自作聰明的瀏覽器(IE7以下)里,這個單詞都會溢出到第二個div里,所以在IE7里,這個div的高度就會保持3像素。

當你在低于IE7的版本里看上述demo的時候,會產生一些意想不到的糟糕問題,我們的兩個div都比3像素還要高一些。到底發生什么了呢?讓我們 看一下包含單詞“Lorem”的div,你應該能注意到這個div擴大了一些以容納這個單詞,你也會注意到沒有任何文本的那個div也擴展了相同的高度。

這個bug現在更有說得通了,即使在空的元素里,IE也會有至少一個空間。由于打破了盒模型產生的那個空間,使得我們的div擴展了而不是讓這個空 間溢出到div外。讓我們假設那個空間受font屬性的控制?,F在,聰明的你已經作好準備,在聽到overflow和font嘗試做點兒事情。

解決方案

以下是上述bug的解決方法(以類型排序)

“清除”解決方案- 有副作用

方案提出時間

2009年年7月17日10:05:25

修訂版本

全部受影響的版本

方案描述

這個修補方法非常簡潔明了,我們將會用到overflow屬性去修補IE的溢出問題,下面就是經過我們修補的之后的demo

HTML Code:

  1. <div></div> 
  2. <div id="text">Lorem</div> 

CSS Code:

  1. div { 
  2.     height: 3px; 
  3.     background: #dd0; 
  4.     overflow: hidden; 
  5. #text { margin: 10px 0; } /* irrelevant to the bug */ 

我們為div加上overflow: hidden的樣式,來解決高度擴展bug。實際上,在添加overflow屬性的地方,原先在那些聰明過頭的瀏覽器(IE6-)里的空間位置現在被隱藏了。

“清除”解決方案的副作用

這個解決方案的副作用是所有溢出的元素都會被隱藏,可能有些你想要的元素也會被隱藏

“清除”解決方案 – 有副作用

方案提出時間

2009年7月17日 星期五 10:11:15

修訂版本

全部受影響

方案描述

在這個解決方案里,我們將給font-size屬性賦值為0。從個人角度來說我更建議你們使用另外一個“清除”解決方案,因為有一些用戶可能會禁用 頁面里字體指定的功能(查看瀏覽器菜單欄里的 Tool(工具) -> Internet Options(Internet設置) -> General(常規) -> Accessibility(可訪問性) -> Ignore font sizes(忽視字體大小))。下面就是經過我們修補的之后的demo

HTML Code:

  1. <div></div> 
  2. <div id="text">Lorem</div> 

CSS Code:

  1. div { 
  2.     height3px
  3.     background#dd0
  4.     font-size0
  5. #text { margin10px 0; } /* irrelevant to the bug */ 

無需多言,如果你讀懂了產生這個bug的原因,一切問題你都迎刃而解,設置font-size為0,我們認為使這個空間和文本小到不會產生任何溢出。

我再一次推薦你使用另外一個解決方案,使用overflow: hidden解決問題,因為用戶很可能就真的在瀏覽器里禁用調整字體大小,到那時你所做的一切兼容都功虧一簣了。

清除解決方案的副作用

這個解決方案的副作用是所有溢出的元素都會被隱藏,可能有些你想要的元素也會被隱藏

原文鏈接:http://haslayout.net/css/Expanding-Height-Bug

譯文鏈接:http://blog.jobbole.com/49534/

責任編輯:陳四芳 來源: 伯樂在線
相關推薦

2013-10-31 11:12:56

IECSS

2013-09-09 10:51:07

CSSIE瀏覽器

2013-10-28 14:01:03

IECSS

2013-10-31 10:59:23

IECSS

2013-10-29 15:20:38

IECSS

2013-10-29 10:32:59

IECSS

2009-08-13 10:12:07

IE的CSS Bug

2010-09-03 09:55:10

CSS偽類hover

2010-08-17 15:38:49

CSS兼容IE7IE8

2010-08-18 09:55:38

IE6

2014-11-14 14:03:17

微軟安全漏洞bug

2023-11-15 17:23:30

測試軟件開發

2009-03-28 09:50:02

IE8微軟瀏覽器

2020-10-22 07:09:19

TCP網絡協議

2014-05-22 16:32:48

bug查找bug

2013-09-22 09:55:14

2010-09-08 11:23:27

2010-08-27 09:02:22

IE6margin雙倍

2010-08-18 14:02:05

IE6HTML標準

2009-10-12 14:12:40

VMware Work
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久久精品一级黑人c片 91免费在线视频 | 99这里只有精品视频 | 黄色av网站在线观看 | 日韩精品成人免费观看视频 | 黄色在线免费播放 | 国产亚洲欧美在线视频 | 欧美精品福利视频 | 草久在线视频 | 一区二区中文字幕 | 一区二区三区国产好 | 日韩午夜精品 | 天堂色网 | 久久久久久久久国产精品 | 国产黄色av网站 | 精品区| 五月综合色啪 | 国产成人99久久亚洲综合精品 | 色免费在线视频 | www.成人在线视频 | 一区二区三区视频 | 午夜爽爽爽男女免费观看 | 国产激情视频网站 | 久久国产精品无码网站 | 欧美日韩综合视频 | 一区中文 | 成人福利 | 黄色毛片免费视频 | 自拍视频精品 | 久久久久国产 | 一区二区三区中文字幕 | 国产成人在线一区二区 | 欧美日韩一卡 | 成人av免费 | 欧美一区二区三区在线观看 | 亚洲视频国产视频 | 午夜精品一区二区三区在线 | 欧美日韩中文在线 | 亚洲人成在线播放 | 欧美一级久久 | 奇色影视 | 久精品视频 |