乙個比較完美的spacer div技巧

2021-04-01 19:24:45 字數 960 閱讀 2581

在製作網頁的過程中,自適應問題是經常遇到,而又最讓人頭疼的,看了好多種解決的方法,但是都不是萬能的。今天遇到這個問題,實在讓我撓頭,借鑑了shark的方法,又給了我乙個新思路。當時沒仔細看lbs的樣式表,今天才發現,.clear用的就是這個方法。接下來,我會做個關於「自適應高度」問題的彙總,以便今後遇到問題時候更快解決。

為了解決浮動元素引起父元素無法獲得高度的問題,我們一般在子元素的最後加上乙個spacer div(clear:both)。但是ie和mozilla對div的解釋不同引起一些表現上的差異。

最簡單的spacer:

.hackbox

ie可以正確地產生預期的效果,但是在mozilla中不起作用。所以現在很多人是這麼用的

.hackbox

然後xhtml中加入乙個 ;,如下:

這回ie和mozilla都起作用了,但是ie並不認 height:0; 這個規則,結果ie中的這個spacer div就佔了一定的高度,影響布局。

經過n次實驗,我發現用下面的方法能比較完美的解決這個問題。

.hackbox

其實ie只需要有clear:both;這一條就可以實現我們的要求。那麼下面這兩條規則有什麼用呢?

border-top:1px solid transparent;

margin-top:-1px;

第一條規則產生1px的乙個透明的上邊框,第二條將margin-top設定為-1,以抵消這條邊框對布局產生的影響。

但是不幸的是ie不支援transparent這個值,它會將這條邊框變為黑色-_-

不幸中的萬幸是ie這小子還有乙個不支援的值,就是!important,ie會忽略這它而選擇按後面兩條顯示,結果就是不顯示邊框(也就是只有clear:both;起作用了)。而mozilla卻會按!important指出的規則顯示。

原文出自:

乙個比較完美的spacer div技巧

乙個比較完美的spacer div技巧 原文出自 在製作網頁的過程中,自適應問題是經常遇到,而又最讓人頭疼的,看了好多種解決的方法,但是都不是萬能的。今天遇到這個問題,實在讓我撓頭,借鑑了 shark的方法,又給了我乙個新思路。當時沒仔細看lbs的樣式表,今天才發現,clear用的就是這個方法。接下...

乙個比較完美的單例模式

單例模式基本上是每乙個程式設計師都能隨手寫的設計模式,牢記兩私一公的原則 即私有建構函式,私有靜態例項屬性,公共的獲取例項的靜態方法。遵循這個原則寫乙個,public class singleton public static singleton getinstance return instanc...

乙個完美的導航樹

http bbs.xoyo.com forumdisplay.php?fid 4339 target main title 新手入門 高手高階,玩家遊戲經驗的交流區 http bbs.xoyo.com forumdisplay.php?fid 4700 target main title 精彩封神,...