CSS 寬度自適應總結

2021-06-21 13:24:16 字數 1482 閱讀 9736

前些日談到布局,學長說,你給我寫個「一邊固定寬度一邊自適應」。我當時有點矇圈,回去查了些資料現在總結了一下。

1.問題:什麼叫做自適應?

有兩種情形,其實這兩種還蠻不同的。放在一起來總結吧。

情形一:寬度自適應,一列定寬,一列自適應,隨視窗大小改變而無滾動條出現。

情形二:高度自適應,建立高度相等的列。

-------------這篇文先說【第一種情況】吧~ 就考慮左側定寬200px,右側自適應咯~----------------------

2.      思路?

定寬的列,自然會想到要設定寬度,暫且設定為200px。

自適應的列,其寬度需為100%。

高度均為200px,設定背景顏色用來區別兩個div。

貼上**

left

right

會是什麼情形呢?

3. ok, 現在【最重要的是】,考慮如何讓兩者同在一行!!!

有2種方式:absolute方式和float方式。

4.  absolute方式

左div設定position:absolute;使其脫離文件流,相對父div的最左絕對定位。它像不存在了一樣,於是右div就『上』來了。

position:relative;

_height:1%;/*ie6hack*/

}

#left

你認為這就會在一行麼?

看看效果

發現二者還是各佔一行。為什麼呢?因為右div的寬是100%,就算浮動了,該行也沒有左div的位置啊,於是,牛x的負margin就出現了!

#right{

margin:0 0 0 -200px;

這句相當於右div的左邊留了個200px寬的空兒,說:這地兒讓給你們了。於是左div就浮了上來。

又怎麼了?

可是發現左div又給右div擋住了。可以看到html中【別具匠心的】在右div裡巢狀了乙個div,控制它的位置就可以了。

#right div {

margin-left:200px;

看看效果:

ie6也如此哦~大功告成!

6.  總結一下吧。

其實最主要的是,如何讓兩個div同處一行,而這兩個div有乙個的寬度還是特殊的100%。

瀏覽器縮放的時候還不能有任何奇怪的事發生哦,這個只有試試才知道!

要深刻的理解絕對定位absolute和浮動float,此處負margin是重頭戲!參考《精通css 高階標準web解決方案》

over,第一篇技術文分享。有錯誤的地方,大家敬請指出!!!進步進步進步!!!!!

剛剛還傻傻的用**發芽網一次次的貼**來著,原來帖子這樣寫啊~長見識長見識。。。。。嘻嘻

CSS自適應寬度圓角按鈕

原理就是通過背景的左對齊和右對齊用a標籤和span標籤組合出乙個完整的圓角矩形。再通過hover標籤去滑動。css bodyh1a a hover aspan a hoverspan html body ahref mce href span 首頁 span a ahref mce href spa...

CSS自適應寬度圓角按鈕

1.背景實現 a a span a hover a hover span 免費註冊 登入自適應寬度 img 原理就是做乙個足夠寬的背景,a和span都用同一張背景圖,文字左側部分顯示的是a的背景,文字本身和右側部分顯示的是span的背景,拼接成乙個按鈕。2.css3 火狐和chrome實現 butt...

css兩欄寬度自適應

對於做後台管理系統或者一屏頁面來說,會涉及到做左右兩欄的效果,左邊作為導航欄,右邊作為主頁面。通常情況下,我們首先想到的是使用浮動效果將兩欄浮動起來左右放置,但是這樣會導致,其中一些內容的位置會出現錯位。因此這裡,給出了乙個兩欄寬度自適應的方式,用來解決浮動問題。給定左邊導航欄的寬度為200px,高...