修正IE下使用CSS屬性overflow的bug
更新時間:2008年03月22日 14:12:04 作者:
你或許知道IE在使用 CSS 屬性 overflow 時,有一些bug,請允許我在里重述一下。
我們要建立一個測試用HTML文件,以下是關鍵的代碼片斷
<div>
<pre><code>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
</code></pre>
</div>
在以上代碼中我將應用以下CSS
div{
width: 60%;
}
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
}
以上代碼在Firefox中的顯示是可以預料的。
但是在IE6中,沒有任何 overflow 效果能夠顯示出來
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
}
此時,IE6的滾動條出來了,但是它與IE7表現的一樣,多了一個右側滾動條。
多一個右側滾動條的原因在于:IE總是將底部滾動條添加在元素的總高度的內部,這樣使得元素的一部分高度被底部滾動條占據,不能完全顯示,所以IE就自動添加了右側滾動條使得元素被擋住的內容也能夠滾動后看到 。
最后為了去除IE右側的滾動條,我們給containing block添加以下CSS
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
overflow-y : hidden ;
}
這樣我們就在IE中創(chuàng)造出了和Firefox、Opera和Safari同樣的 overflow : auto 效果。
在實際應用中,這一效果可以應用于所有固定格式的元素(通常為 pre 元素),最常見的是代碼塊。
復制代碼 代碼如下:
<div>
<pre><code>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
<a >遵守我的版權</a>
</code></pre>
</div>
復制代碼 代碼如下:
div{
width: 60%;
}
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
}
以上代碼在Firefox中的顯示是可以預料的。
但是在IE6中,沒有任何 overflow 效果能夠顯示出來
而在IE7中的顯示也有些不同,多了一個惹人討厭的右側滾動條
IE6的bug可以通過給containing block添加width的方法解決,即
復制代碼 代碼如下:
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
}
此時,IE6的滾動條出來了,但是它與IE7表現的一樣,多了一個右側滾動條。
多一個右側滾動條的原因在于:IE總是將底部滾動條添加在元素的總高度的內部,這樣使得元素的一部分高度被底部滾動條占據,不能完全顯示,所以IE就自動添加了右側滾動條使得元素被擋住的內容也能夠滾動后看到 。
最后為了去除IE右側的滾動條,我們給containing block添加以下CSS
復制代碼 代碼如下:
pre{
overflow : auto ;
background-color : #fff0f5 ;
margin : 1.6em 0 ;
padding : 0 1.6em ;
width : 90% ;
overflow-y : hidden ;
}
這樣我們就在IE中創(chuàng)造出了和Firefox、Opera和Safari同樣的 overflow : auto 效果。
在實際應用中,這一效果可以應用于所有固定格式的元素(通常為 pre 元素),最常見的是代碼塊。
您可能感興趣的文章:
- PHP has encountered a Stack overflow問題解決方法
- css之使table也能overflow:hidden
- android PopupWindow 和 Activity彈出窗口實現方式
- android popwindow實現左側彈出菜單層及PopupWindow主要方法介紹
- Android Animation實戰(zhàn)之屏幕底部彈出PopupWindow
- Android入門之PopupWindow用法實例解析
- Android之用PopupWindow實現彈出菜單的方法詳解
- Android編程實現popupwindow彈出后屏幕背景變成半透明效果
- Android PopupWindow 點擊外面取消實現代碼
- Android用PopupWindow實現自定義overflow
相關文章
div的dispaly:inline樣式 和span的區(qū)別
為什么在ie里執(zhí)行后這段代碼 兩個span標簽雖在同一行但它們之間有空隙? 但是 兩個div標簽雖然在同一行就沒有空隙?2008-07-07用<TABLE>語句來實現圓角表格可以省去制作圓角圖片之苦!
用<TABLE>語句來實現圓角表格可以省去制作圓角圖片之苦!...2007-04-04用CSS控制表格或單元格強制換行,防止表格被英文單詞或中文撐大
自動換行問題,正常字符的換行是比較合理的,而連續(xù)的數字和英文字符常常將容器撐大,挺讓人頭疼,下面介紹的是CSS如何實現換行的方法2008-10-10激發(fā)你的靈感:50個優(yōu)秀的Favicons
激發(fā)你的靈感:50個優(yōu)秀的Favicons...2007-02-02