CSS display:block顯示布局錯亂解決方案
本文向大家介紹一下如何解決CSS display:block在Firefox下顯示布局錯亂問題,按照常理,對于某一單元行需要顯示時,使用CSS display:block屬性,在IE瀏覽器中顯示正常,但是當用Firefox瀏覽時卻出現了布局錯亂的問題,這里和大家分享一下解決方法。
CSS display:block在Firefox下顯示布局錯亂問題
按照常理,對于某一單元行需要顯示時,使用CSS display:block屬性,不需要顯示時使用display:none屬性,而且這樣做在IE瀏覽器中顯示正常,沒有任何問題。
但是當用Firefox瀏覽時卻出現了布局錯亂的問題,然后通FireBug去看了下源碼,調試下了,發現是CSS display:block屬性搞的鬼。
1、當表格為多列的情況下,屬性為"CSS display:block"行的內容寬度僅與第一列寬度相同,也就是說無論你使colspan的屬性值為多少,剩余列的空間都不進行解析。
2、同一行反復的在"CSS display:none;"與"CSS display:block;"兩個狀態間切換時,表格的底部會持續的產生多余的空白空間以至于造成頁面布局的扭曲。
解決方法:
1、用CSS display:table-row屬性來調試,發現者FireFox下正常了,但IE是不支持改屬性的,怎么辦呢?用JS來做判斷,然后做兼容吧。
2、另外一個很簡單也很可行的方法,就是用display:''這個屬性dispaly后面不加任何的東西,很奇怪,這樣就兼容了Firefox和IE了。
原文地址:http://www.baybey.net/post/cssdisplayfirefoxhack.html
【編輯推薦】
- CSS display:inline和float:left兩者區別
- 探究CSS hack使用原理 規則及弊端
- CSS display屬性基本特性和語法
- CSS屬性display:inline-block使用揭秘
- CSS hack:實現IE6、IE7、Firefox兼容