|
導(dǎo)讀網(wǎng)頁的本質(zhì)就是超級(jí)文本標(biāo)記語言,通過結(jié)合使用其他的Web技術(shù)(如:腳本語言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁。因而,超級(jí)文本標(biāo)記語言是萬維網(wǎng)(Web)編程的基礎(chǔ),也就是說萬維網(wǎng)是建立... 網(wǎng)頁的本質(zhì)就是超級(jí)文本標(biāo)記語言,通過結(jié)合使用其他的Web技術(shù)(如:腳本語言、公共網(wǎng)關(guān)接口、組件等),可以創(chuàng)造出功能強(qiáng)大的網(wǎng)頁。因而,超級(jí)文本標(biāo)記語言是萬維網(wǎng)(Web)編程的基礎(chǔ),也就是說萬維網(wǎng)是建立在超文本基礎(chǔ)之上的。超級(jí)文本標(biāo)記語言之所以稱為超文本標(biāo)記語言,是因?yàn)槲谋局邪怂^“超級(jí)鏈接”點(diǎn)。 在頁面布局時(shí),經(jīng)常會(huì)使用float浮動(dòng),也必然會(huì)清除浮動(dòng),這篇文章就和大家講講如何巧妙運(yùn)用clear:both清除浮動(dòng),有需要的朋友可以參考一下,希望對(duì)你有幫助!我們?cè)谥谱骶W(wǎng)頁中用div+css或者稱xhtml+css都會(huì)遇到一些很詭異的情況,明明布局正確,但是整個(gè)畫面卻混亂起來了,有時(shí)候在IE6下看的很正常的,到ie7或者火狐下看時(shí),就一片混亂了,無論怎么計(jì)算,就是不能將排版改正過來。其實(shí),這一切都是浮動(dòng)搞得鬼,也就是css中的float,要解決情況,就需要使用clear:both了。 CSS手冊(cè)上是這樣說明的:該屬性的值指出了不允許有浮動(dòng)對(duì)象的邊。這個(gè)屬性是用來控制float屬性在文檔流的物理位置的。 當(dāng)屬性設(shè)置float(浮動(dòng))時(shí),其所在的物理位置已經(jīng)脫離文檔流了,但是大多時(shí)候我們希望文檔流能識(shí)別float(浮動(dòng)),或者是希望float(浮動(dòng))后面的元素不被float(浮動(dòng))所影響,這個(gè)時(shí)候我們就需要用clear:both;來清除。 程序代碼: <p style="float:left;width:200px;">這個(gè)是第1列,</p> <p style="float:left;width:400px;">這個(gè)是第2列,</p> <p>這個(gè)是第3列。</p> 如果不用清除浮動(dòng),那么第3列文字就會(huì)和第1、2列文字在一起 ,所以我們?cè)诘?個(gè)這列加一個(gè)清除浮動(dòng) clear:both; 通常,我們往往會(huì)將“清除浮動(dòng)”單獨(dú)定義一個(gè)CSS樣式,如: 程序代碼 .clear {
clear: both;
}然后使用<div class="clear"></div>來專門進(jìn)行“清除浮動(dòng)”。 程序代碼 <p style="float:left;width:200px;">這個(gè)是第1列,</p> <p style="float:left;width:400px;">這個(gè)是第2列,</p> <p style="clear:both;">這個(gè)是第3列。</p> 非要整成 程序代碼 <p style="float:left;width:200px;">這個(gè)是第1列,</p> <p style="float:left;width:400px;">這個(gè)是第2列,</p> <div class="clear"></div> <p>這個(gè)是第3列。</p> 這點(diǎn)看來,<div class="clear"></div>確實(shí)不需要寫。 程序代碼 <style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
</style>
<div id="main">
<div id="sidebar">第一段內(nèi)容 第一段內(nèi)容 第一段內(nèi)容</div>
<div id="container">第二段內(nèi)容 第二段內(nèi)容 第二段內(nèi)容</div>
</div>
<p style="clear:both;">第三段內(nèi)容</p>該頁面測試在IE下效果正合所要:藍(lán)色塊內(nèi)部有紅色和黃色兩個(gè)色塊內(nèi)容,同時(shí)在藍(lán)色塊以下是第三段文本。 不過FF的效果可不是這樣的。我們不能單單想在下一層清除就能完成我們的工作,我們必須在浮動(dòng)元素所在標(biāo)簽閉合之前及時(shí)進(jìn)行“清除”。 程序代碼 <style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
.clear {clear: both;}
</style>
<div id="main">
<div id="sidebar">第一段內(nèi)容 第一段內(nèi)容 第一段內(nèi)容</div>
<div id="container">第二段內(nèi)容 第二段內(nèi)容 第二段內(nèi)容</div>
<div class="clear"></div>
</div>
<p>第三段內(nèi)容</p>對(duì)于因多加的<div class="clear"></div>標(biāo)簽會(huì)引起IE和FF高度變化,通過如下方法解決: 程序代碼 clear {
clear: both;
height:1px;
margin-top:-1px;
overflow:hidden;
}程序代碼 <style type="text/css">
#main {background-color: #3399CC;width: 600px;padding: 20px;}
#sidebar {background-color: #FF6600; float: left;width: 130px;}
#container {float: right;width: 420px;background-color: #FFFF33;}
.clear {clear: both;height:1px;margin-top:-1px;overflow:hidden;}
</style>
<div id="main">
<div id="sidebar">第一段內(nèi)容 第一段內(nèi)容 第一段內(nèi)容</div>
<div id="container">第二段內(nèi)容 第二段內(nèi)容 第二段內(nèi)容</div>
<div class="clear"></div>
</div>
<p>第三段內(nèi)容</p>以上就是如何巧妙運(yùn)用CSS clear:both清除浮動(dòng)(附代碼)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章! 網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。 |
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!