解決列高度自適應(yīng)的五種方法!_Div+CSS教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
1.背景圖填充
這是使用最廣泛的一種做法,無(wú)hacks,推薦使用:
2.采用腳本控制列的高度(一)
需要事先知道哪列的高度,以此為基準(zhǔn)用腳本控制。
document.getElementById("sideleft").style.height=document.getElementById("sideright").scrollHeight "px"
上面的代碼是以sideright的基準(zhǔn)高度來(lái)控制sideleft的高度。
代碼簡(jiǎn)單,但比較被動(dòng):
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
3.采用腳本控制列的高度(二)
不需要事先知道哪列的高度,腳本自動(dòng)判定。
代碼較復(fù)雜,有點(diǎn)延時(shí):
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
4.采用負(fù)的外邊界和內(nèi)補(bǔ)丁相結(jié)合
不需要事先知道哪列的高度。
hacks比較多(主要是opera的),但輕易使用,推薦:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
5.采用負(fù)的左右邊界和相對(duì)定位
下面的例子能較好地解決列高度相同的問(wèn)題。
三行二列布局,主要內(nèi)容在左邊,網(wǎng)頁(yè)寬度750px,左列580px,右列170px。
CSS代碼:
xhtml代碼:
從結(jié)構(gòu)看,middle(使用的是左列希望的背景色)在最外面,寬度等于sideleft的寬度,往里一層是sideright,其寬度為170px,浮動(dòng)方向是右邊。但其右面的邊界是負(fù)的170px,相當(dāng)于將sideright拉向右面(右面緊貼著middle的右邊)170px的位置。而sideleft又是套在sideright里面的,其內(nèi)容先于sideright出來(lái),左邊界是負(fù)的580,相當(dāng)于在sideright左邊580px,此時(shí)sideleft和middle位置重合。
優(yōu)點(diǎn):不需要背景圖片,無(wú)hacks,完全的自適應(yīng)高度。
缺點(diǎn):現(xiàn)在的代碼只能左對(duì)齊。
演示:
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
參考資料:http://www.pmob.co.uk/temp/2equalising-columns-separate-good-2.htm
這是使用最廣泛的一種做法,無(wú)hacks,推薦使用:
代碼調(diào)試框 [m.dounai2.com]
2.采用腳本控制列的高度(一)
需要事先知道哪列的高度,以此為基準(zhǔn)用腳本控制。
document.getElementById("sideleft").style.height=document.getElementById("sideright").scrollHeight "px"
上面的代碼是以sideright的基準(zhǔn)高度來(lái)控制sideleft的高度。
代碼簡(jiǎn)單,但比較被動(dòng):
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
3.采用腳本控制列的高度(二)
不需要事先知道哪列的高度,腳本自動(dòng)判定。
代碼較復(fù)雜,有點(diǎn)延時(shí):
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
4.采用負(fù)的外邊界和內(nèi)補(bǔ)丁相結(jié)合
不需要事先知道哪列的高度。
hacks比較多(主要是opera的),但輕易使用,推薦:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
5.采用負(fù)的左右邊界和相對(duì)定位
下面的例子能較好地解決列高度相同的問(wèn)題。
三行二列布局,主要內(nèi)容在左邊,網(wǎng)頁(yè)寬度750px,左列580px,右列170px。
CSS代碼:
示例代碼 [m.dounai2.com]
#middle{
width: 580px;
float:left;
background:#FFFFFF;
text-align:left;
}
#sideleft{
width: 580px;
float: left;
position:relative;
margin-left:-580px;
}
#sideright{
width: 170px;
float: right;
position:relative;
margin: 0 -170px 0 0;
background: #F0F0F0;
}
width: 580px;
float:left;
background:#FFFFFF;
text-align:left;
}
#sideleft{
width: 580px;
float: left;
position:relative;
margin-left:-580px;
}
#sideright{
width: 170px;
float: right;
position:relative;
margin: 0 -170px 0 0;
background: #F0F0F0;
}
xhtml代碼:
示例代碼 [m.dounai2.com]
<div id="middle">
<div id="sideright">
<div id="sideleft">
</div>
</div>
</div>
<div id="sideright">
<div id="sideleft">
</div>
</div>
</div>
從結(jié)構(gòu)看,middle(使用的是左列希望的背景色)在最外面,寬度等于sideleft的寬度,往里一層是sideright,其寬度為170px,浮動(dòng)方向是右邊。但其右面的邊界是負(fù)的170px,相當(dāng)于將sideright拉向右面(右面緊貼著middle的右邊)170px的位置。而sideleft又是套在sideright里面的,其內(nèi)容先于sideright出來(lái),左邊界是負(fù)的580,相當(dāng)于在sideright左邊580px,此時(shí)sideleft和middle位置重合。
優(yōu)點(diǎn):不需要背景圖片,無(wú)hacks,完全的自適應(yīng)高度。
缺點(diǎn):現(xiàn)在的代碼只能左對(duì)齊。
演示:
代碼調(diào)試框 [m.dounai2.com]
[ 可先修改部分代碼 再運(yùn)行查看效果 ]
參考資料:http://www.pmob.co.uk/temp/2equalising-columns-separate-good-2.htm
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- CSS實(shí)例教程:UL制作CSS橫向菜單藍(lán)綠色調(diào)
- 用“ul li”及css制作韓國(guó)風(fēng)格菜單
- HowCSSLayoutWorks-如何進(jìn)行CSS布局
- 如何用CSS實(shí)現(xiàn)翻頁(yè)效果?
- CSS折疊菜單一例:可自由伸縮折疊
- DIVCSS菜單:黑白灰?guī)в嘘幱靶Ч腃SS橫向菜單
- CSS菜單:基本橫向菜單效果超炫
- CSS如何實(shí)現(xiàn)單行圖片與文字垂直居中?
- DivCSS實(shí)例:符合web標(biāo)準(zhǔn)的嵌入Flash的方法-JS調(diào)用
- CSS菜單實(shí)例:極致而簡(jiǎn)約的風(fēng)格
- 相關(guān)鏈接:
- 教程說(shuō)明:
Div+CSS教程-解決列高度自適應(yīng)的五種方法!。