1. 程式人生 > >清除浮動的七種方式方法(例項程式碼講解)

清除浮動的七種方式方法(例項程式碼講解)

今天給大家分享的是清除浮動的具體程式碼實現,主要是幫助大家理解哪一種清除浮動比較好,辨析它們的優缺點而已。清除浮動有很多種,如何進行選擇清除浮動呢?E良師益友網就拿下面的一個例子來講解。


例項程式碼(未清除浮動):

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

解析:頁面開發的時候可以為父級標籤新增固定高度,但是有時希望內容能夠撐開高度(比如內容不固定的時候)。對於不浮動的元素來說,它們是能夠撐開外部div的高度的,但是一旦浮動,元素脫離文件流,父級div就相當於沒有了內容(上面的例子中類名為main的高度為0了)。這時是沒有辦法實現內容撐開高度的。此時需要進行清除浮動對佈局造成的一系列影響,所以叫清浮動。(不要誤解成把浮動清除了,元素就沒有浮動了,不是同一概念)。

下面E良師益友網就為大家分析總結一下清除浮動的方法!

一:空標籤清浮動

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

.clear {

clear: both;

                        /*消除預設行高的影響*/

height: 0;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

<p class="clear"></p>

</div>

<div class="footer"></div>

</div>

</body>

</html>

註釋:上面用p標籤進行空標籤清浮動,當然可以用別的標籤;如果用行元素的話需要進行轉化為塊,塊元素就沒有必要轉化啦。

二:br標籤清除浮動

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

<!-- br標籤自帶的屬性 -->

<br clear="all" />

</div>

<div class="footer"></div>

</div>

</body>

</html>

三:父元素設定overflow:hidden

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main {

overflow: hidden;

}

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

四:父元素設定overflow:auto

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main {

overflow: auto;

}

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

五:父元素浮動

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main {

float: left;

}

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

註釋:使得與父元素相鄰的元素的佈局會受到影響(影響到了類名為footer的元素)。

 六:父元素設定display:table

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main {

display: table;

}

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

</style>

</head>

<body>

<div class="wrap">

<div class="main">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

七:after 偽元素(不是偽類)

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>清除浮動方法大全</title>

<link rel="stylesheet" href="reset.css">

<style>

.main div {

float: left;

width: 200px;

height: 200px;

margin-right: 20px;

background: #fcf;

}

.footer {

width: 420px;

height: 100px;

background: red;

}

.clearfix:after {

clear:both; 

display:block;

height:0;

content:"\200B";

}

.clearfix { 

*zoom:1; 

}

</style>

</head>

<body>

<div class="wrap">

<div class="main clearfix">

<div>清除浮動方法大全</div>

<div>html學習</div>

</div>

<div class="footer"></div>

</div>

</body>

</html>

以上就是所有清除浮動的方法啦,至於具體用哪種方法,那就由你來定奪了!