|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。 在前端開發過程中,我們經常會使用到浮動(float),這個我們即愛又恨的屬性。愛,是因為通過浮動,我們能很方便地進行布局; 恨,是因為浮動之后遺留下來太多的問題需要解決。本章給大家介紹css為何要清除浮動,以及如何清除浮動;讓大家了解元素進行浮動之后會出現的問題,以及css消除浮動的幾種方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。一、為什么會出現浮動? 浮動(float)產生的最根本的原因是為了實現文字環繞效果;后來有人發現用它來做布局挺不錯的,可以彌補傳統布局上的一些不足,挺方便的。 二、為什么要清除浮動,css清理浮動有什么作用? 浮動(float)可以控制浮動框左右移動,直到遇到另一個浮動框或者遇到它外邊緣的包含框。浮動框不屬于文檔流中的普通流,當元素浮動之后,不會影響塊級元素的布局,只會影響內聯元素布局。此時文檔流中的普通流就會表現得該浮動框不存在一樣的布局模式。當包含框的高度小于浮動框的時候,此時就會出現“高度塌陷”: 上圖中父元素撐開的高度是padding帶來的效果,父元素沒有設置高度。 在父元素沒有設置高度的情況下:
顯然這樣設置浮動后出現了一些問題,比如:
實例說明(背景色) 沒有清除浮動:
清除浮動后:
三、怎樣清除浮動 下面介紹css清除浮動的幾個方法(實現上圖效果): 1.使用帶clear屬性的空元素 使用空標簽清除浮動:在需要清除浮動的父級元素內部的所有浮動元素后添加一個空標簽(理論上可以是任何標簽,但常用<div>和<p>)清除浮動,并為其定義CSS代碼clear:both。 代碼實例: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.demo{
width: 500px;
margin: 50px auto;
background-color: #CCCCCC;
}
.left{
width: 100px;
height: 100px;
float: left;
background-color: #21B4BB;
}
.right{
width: 100px;
height: 50px;
float: right;
background-color: #21B4BB;
}
.clear{
clear:both;
}
</style>
</head>
<body>
<div class="demo">
<div class="left">left</div>
<div class="right">right</div>
<div class="clear"></div>
</div>
</body>
</html>優點:簡單,代碼少,瀏覽器兼容性好。 缺點:需要添加大量無語義的html元素,代碼不夠優雅,后期不容易維護。 2.使用CSS的overflow屬性 使用overflow清除浮動:只需在需要清除浮動的元素中定義CSS代碼overflow:auto或overflow:hidden即可。 代碼實例: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.demo{
width: 500px;
margin: 50px auto;
background-color: #CCCCCC;
overflow:hidden
}
.left{
width: 100px;
height: 100px;
float: left;
background-color: #21B4BB;
}
.right{
width: 100px;
height: 50px;
float: right;
background-color: #21B4BB;
}
</style>
</head>
<body>
<div class="demo">
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>優點:不存在結構和語義化問題,代碼量極少 缺點:內容增多時候容易造成不會自動換行導致內容被隱藏掉,無法顯示需要溢出的元素 3.使用CSS的:after偽元素 對父元素使用:after偽元素,設置display:table display:table 使生成的元素以塊級表格顯示,占滿剩余空間。 通過content: " "生成內容作為最后一個元素,至于content里面是什么都是可以的,CSS經典的是 content:".",有些版本可能content里面內容為空。 代碼實例: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.demo{
width: 500px;
margin: 50px auto;
background-color: #CCCCCC;
*zoom: 1;
}
.demo:after {
content: " ";
display: table;
clear: both;
}
.left{
width: 100px;
height: 100px;
float: left;
background-color: #21B4BB;
}
.right{
width: 100px;
height: 50px;
float: right;
background-color: #21B4BB;
}
</style>
</head>
<body>
<div class="demo">
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>缺點:適合現代瀏覽器,不支持IE6/7,*zoom: 1就是為了兼容IE6/7 以上就是css清理浮動有什么作用?清理浮動的方法(介紹)的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!