首頁 web前端 css教學 CSS如何清除浮動? css清除浮動的五種方法總結

CSS如何清除浮動? css清除浮動的五種方法總結

Aug 10, 2018 am 11:38 AM
css清除浮動

這篇文章要跟大家介紹的內容是關於CSS如何清除浮動? css清除浮動的五種方法總結,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

方法一(使用空標籤帶clear屬性)

#標籤可以是div   br hr

#在浮動元素後使用一個空元素如

,並在CSS中賦予.clear{clear:both;}屬性即可清理浮動。亦可使用

來進行清理。

優點:簡單,程式碼少,瀏覽器相容性好。

缺點:需要增加大量無語意的html元素,程式碼不夠優雅,後期不容易維護。

在浮動元素下加

   .clear{ height:0px;font-size:0;clear:both;},但在ie6下,塊元素有最小高度,即當height<19px時,預設為19px

 解法:font-size:0;或overflow:hidden;  在浮動元素下加

方法二(為浮動元素的父元素添加overflow屬性)解決了透過空標籤元素清除浮動而不得不增加無意程式碼的弊端。

使用該方法是只需在需要清除浮動的元素中定義CSS屬性:overflow:auto

overflow:auto;是讓高度自適應,zoom: 1;是為了相容IE6,也可以用height:1%;的方式解決,

注意:zoom不符合W3C標準。 overflow:hidden也可以實現。

<ul style="overflow:auto;zoom:1>
<li>AAA</li>
<li>BBB</li>
<li>CCC</li>
</ul>
登入後複製

方法三:(為浮動的元素的容器添加浮動,即為父級添加float來清除浮動)

<div style="float: right;background-color: #1a1a1a;">
   <div style="float: right;width: 300px;height: 300px;background-color: #2a85a0;">
 
   </div>
   <div style="width: 500px;height: 200px;background-color: #8a6d3b">
 
   </div>
</div>
登入後複製

給浮動元素的容器也新增上浮動屬性即可清除內部浮動

缺點:會使其整體浮動,影響佈局,不建議使用。

方法四:(使用after偽物件清除浮動)

after 偽元素(注意這不是偽類,而是偽元素,代表一個元素之後最近的元素)和IEhack ,可以完美兼容當前主流的各大瀏覽器,這裡的IEhack 指的是觸發hasLayout。

透過after偽元素實作元素末端加入一個看不見的區塊元素(Block element)清理浮動。

透過CSS偽元素在容器的內部元素最後加上了一個看不見的空格""或點".",並且賦予clear屬性來清除浮動。要注意的是為了IE6和IE7瀏覽器,要給clearfix這個class增加一條zoom:1;觸發haslayout。

after偽物件非IE瀏覽器支持,所以不影響IE/WIN瀏覽器。具體寫法可參考以下範例。使用中需注意以下幾點。

一、方法中必須為需要清除浮動元素的偽物件中設定height:0,否則該元素會比實際高出若干像素;

二、content屬性是必須的,但其值可以為空,討論該方法的時候content屬性的值設為".",

<style type="text/css"> 
.listinfo:after{
      display:block;
      clear:both;
      content:"";  
      visibility:hidden;
      height:0;
} 
<ul class="listinfo">
<li>AAA</li>
<li>BBB</li>
<li>CCC</li>
</ul>
登入後複製

方法五:使用鄰接元素處理

什麼都不做,給浮動元素後面的元素添加clear屬性。

方法與新增一個空標籤類似,只是這裡用浮動元素緊鄰的元素

使用情況:

在網頁主要佈局時使用:after偽元素方法並作為主要清理浮動方式;

在小模組如ul裡使用overflow:hidden;(留意可能產生的隱藏溢出元素問題);

如果本身就是浮動元素則可自動清除內部浮動,無需格外處理;

正文中使用鄰接元素清理之前的浮動。

使用相對完美的:after偽元素方法清理浮動,文檔結構更加清晰;

BUG修正:

(1)、雙倍邊距bug處理IE6 時,另一個需要記住的事情是,如果在和浮動方向相同的方向上設定外邊距(margin),會引發
雙倍邊距。

快速修正:給浮動設定 display:inline; 而且不用擔心,它仍然是區塊級元素。
(2)、3像素間距是指挨著浮動元素的文字會神奇的被踢出去3像素,好像浮動元素的周圍有一個奇怪的力場一樣。

快速修正:在受影響的文字上設定寬度或高度。
(3)、IE7 中,底邊距 bug是當浮動父元素有浮動子元素時,這些子元素的底邊距會被父元素忽略掉。

快速修正:用父元素的底內補白(padding)代替。

相關推薦:

css中定位問題:絕對定位、相對定位、fixed和static

css中如何實現浮動的元素換行

什麼是浮動?css清除浮動的原理

#

以上是CSS如何清除浮動? css清除浮動的五種方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

在WordPress塊編輯器中使用Markdown和本地化 在WordPress塊編輯器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我們需要直接在WordPress編輯器中向用戶顯示文檔,那麼最佳方法是什麼?

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

如何將CSS網格用於粘頭和頁腳 如何將CSS網格用於粘頭和頁腳 Apr 02, 2025 pm 06:29 PM

CSS網格是一系列屬性的集合,旨在使佈局比以往任何時候都容易。像任何東西一樣,那裡有一點學習曲線,但是網格是

See all articles