搜尋
首頁web前端前端問答html5中清除浮動的屬性是什麼

html5中清除浮動的屬性是什麼

Dec 22, 2021 pm 03:44 PM
clear屬性html5清除浮動

在html5中,清除浮動的屬性是「clear」。 clear屬性規定元素的哪一側不允許其他浮動元素,當給浮動元素設定「clear:both;」樣式後,可以清除浮動,讓元素左右兩側都不允許浮動。

html5中清除浮動的屬性是什麼

本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

在html5中,清除浮動的屬性是「clear」。

clear屬性規定元素的哪一邊不允許其他浮動元素

#下面我們來詳細了解clear屬性。

首先要知道,div是塊級元素,在頁面中獨佔一行,自上而下排列,也就是傳說中的流。如下圖:

 

可以看出,即使div1的寬度很小,頁面中一行可以容下div1和div2,div2也不會排在div1後邊,因為div元素是獨佔一行的。

       請注意,上述這些理論,是指標準流中的div。

       小菜認為,無論多麼複雜的佈局,其基本出發點都是:「如何在一行中顯示多個div元素」。

       明顯標準流已無法滿足需求,這就要使用浮動。      

       浮動可理解為讓某一div元素脫離標準流,並浮在標準流之上,且標準流不是一個層次。

       例如,假設上圖中的div2浮動,那麼它將脫離標準流,但div1、div3、div4仍在標準流當中,所以div3會自動向上移動,佔據div2的位置,重新組成一個流。如圖:

 

從圖中可以看出,由於對div2設定浮動,因此它不再屬於標準流,div3自動上移頂替div2的位置,div1、 div3、div4依序排列,成為一個新的流。又因為浮動是漂浮在標準流之上的,因此div2擋住了一部分div3,div3看起來變「矮」了。

這裡div2用的是左浮動(float:left;),可以理解為漂浮起來後靠左排列,右浮動(float:right;)當然就是靠右排列。這裡的靠左、靠右是說頁面的左、右邊緣。

如果我們把div2採用右浮動,會是以下效果:

#此時div2靠頁面右邊緣排列,不再遮擋div3,讀者可以清晰的看到上面所講的div1、div3、div4組成的流。

目前為止我們只浮動了一個div元素,多個呢?

下面我們把div2和div3都加上左浮動,效果如圖:

同理,由於div2、div3浮動,它們不再屬於標準流,因此div4會自動上移,與div1組成一個「新」標準流,而浮動是漂浮在標準流之上,因此div2又擋住了div4。

咳咳,到重點了,當同時對div2、div3設定浮動之後,div3會跟隨在div2之後,不知道讀者有沒有發現,一直到現在,div2在每個例子中都是浮動的,但並沒有跟隨到div1之後。因此,我們可以得出一個重要結論:

假如某個div元素A是浮動的,如果A元素上一個元素也是浮動的,那麼A元素會跟隨在上一個元素的後邊(如果一行放不下這兩個元素,那麼A元素會被擠到下一行);如果A元素上一個元素是標準流中的元素,那麼A的相對垂直位置不會改變,也就是說A的頂部總是和上一個元素的底部對齊。

div的順序是HTML程式碼中div的順序決定的。

靠近頁面邊緣的一端是前,遠離頁面邊緣的一端是後。

 

為了幫助讀者理解,再舉幾個例子。

假如我們把div2、div3、div4都設定成左浮動,效果如下:

根據上邊的結論,跟著小菜理解一遍:先從div4開始分析,它發現上邊的元素div3是浮動的,所以div4會跟著在div3之後;div3發現上邊的元素div2也是浮動的,所以div3會跟隨在div2之後;而di​​v2發現上邊的元素div1是標準流中的元素,因此div2的相對垂直位置不變,頂部仍然和div1元素的底部對齊。由於是左浮動,左邊靠近頁面邊緣,所以左邊是前面,因此div2在最左邊。

假如把div2、div3、div4都設定成右浮動,效果如下:

道理和左浮動基本上一樣,只不過需要注意一下前後對應關係。由於是右浮動,因此右邊靠近頁面邊緣,所以右邊是前,因此div2在最右邊。

假如我們把div2、div4左浮動,效果圖如下:

#依然是根據結論,div2、div4浮動,脫離了標準流,因此div3將會自動上移,與div1組成標準流。 div2發現上一個元素div1是標準流中的元素,因此div2相對垂直位置不變,與div1底部對齊。 div4發現上一個元素div3是標準流中的元素,因此div4的頂部和div3的底部對齊,並且總是成立的,因為從圖中可以看出,div3上移後,div4也跟著上移,div4總是保證自己的頂部和上一個元素div3(標準流中的元素)的底部對齊。

       至此,恭喜讀者已經掌握了添加浮動,但還有清除浮動,有上邊的基礎清除浮動非常容易理解。

       經過上邊的學習,可以看出:在元素浮動之前,也就是在標準流中,是垂直排列的,而浮動後可以理解為橫向排列。

       清除浮動可理解為打破橫向排列。

       清除浮動的關鍵字是clear,官方定義如下:

語法:

clear : none | left | right | both

取值:

       none  :  預設值。允許兩邊都可以有浮動對象

       left   :  不允許左邊有浮動物件

       right  : 

#       定義非常容易理解,但讀者實際使用時可能會發現不是這麼一回事。

       定義沒有錯,只不過它所描述的太模糊,讓我們不知所措。

根據上邊的基礎,假如頁面中只有兩個元素div1、div2,它們都是左浮動,場景如下:

此時div1、 div2都浮動,根據規則,div2會跟著div1後邊,但我們仍然希望div2能排列在div1下邊,就像div1沒有浮動,div2左浮動那樣。

     這時候就要使用到清除浮動(clear),如果單純根據官方定義,讀者可能會嘗試這樣寫:在div1的CSS樣式中添加clear:right;,理解為不允許div1的右邊有浮動元素,由於div2是浮動元素,因此會自動下移一行來滿足規則。

       其實這種理解是不正確的,這樣做也沒有任何效果。看小菜結論:

       

對於CSS的清除浮動(clear),一定要牢記:這個規則只能影響使用清除的元素本身,不能影響其他元素。

       如何理解呢?就拿上邊的例子來說,我們是想讓div2移動,但我們卻是在div1元素的CSS樣式中使用了清除浮動,試圖透過清除div1右邊的浮動元素(clear:right;)來強迫div2下移,這是不可行的,因為這個清除浮動是在div1中呼叫的,它只能影響div1,不能影響div2。

       以小菜定論,要讓div2下移,就必須在div2的CSS樣式中使用浮動。本範例中div2的左邊有浮動元素div1,因此只要在div2的CSS樣式中使用clear:left;來指定div2元素左邊不允許出現浮動元素,這樣div2就被迫下移一行。

那麼假如頁面中只有兩個元素div1、div2,它們都是右浮動呢?讀者此時應該已經能自己推測場景,如下:

此時如果要讓div2下移到div1下邊,要如何做呢?

同樣根據小菜定論,我們希望移動的是div2,就必須在div2的CSS樣式中呼叫浮動,因為浮動只能影響呼叫它的元素。

可以看出div2的右邊有一個浮動元素div1,那麼我們可以在div2的CSS樣式中使用clear:right;來指定div2的右邊不允許出現浮動元素,這樣div2就被迫下移一行,排到div1下邊。

相關推薦:《html影片教學

以上是html5中清除浮動的屬性是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
HTML和React的集成:實用指南HTML和React的集成:實用指南Apr 21, 2025 am 12:16 AM

HTML與React可以通過JSX無縫整合,構建高效的用戶界面。 1)使用JSX嵌入HTML元素,2)利用虛擬DOM優化渲染性能,3)通過組件化管理和渲染HTML結構。這種整合方式不僅直觀,還能提升應用性能。

React和HTML:渲染數據和處理事件React和HTML:渲染數據和處理事件Apr 20, 2025 am 12:21 AM

React通過state和props高效渲染數據,並通過合成事件系統處理用戶事件。 1)使用useState管理狀態,如計數器示例。 2)事件處理通過在JSX中添加函數實現,如按鈕點擊。 3)渲染列表需使用key屬性,如TodoList組件。 4)表單處理需使用useState和e.preventDefault(),如Form組件。

後端連接:反應如何與服務器互動後端連接:反應如何與服務器互動Apr 20, 2025 am 12:19 AM

React通過HTTP請求與服務器交互,實現數據的獲取、發送、更新和刪除。 1)用戶操作觸發事件,2)發起HTTP請求,3)處理服務器響應,4)更新組件狀態並重新渲染。

反應:專注於用戶界面(前端)反應:專注於用戶界面(前端)Apr 20, 2025 am 12:18 AM

React是一種用於構建用戶界面的JavaScript庫,通過組件化開發和虛擬DOM提高效率。 1.組件與JSX:使用JSX語法定義組件,增強代碼直觀性和質量。 2.虛擬DOM與渲染:通過虛擬DOM和diff算法優化渲染性能。 3.狀態管理與Hooks:Hooks如useState和useEffect簡化狀態管理和副作用處理。 4.使用示例:從基本表單到高級的全局狀態管理,使用ContextAPI。 5.常見錯誤與調試:避免狀態管理不當和組件更新問題,使用ReactDevTools調試。 6.性能優化與最佳

React的角色:前端還是後端?澄清區別React的角色:前端還是後端?澄清區別Apr 20, 2025 am 12:15 AM

reactisafrontendlibrary,focusedonBuildingUserInterfaces.itmanagesuistateandupdatesefficefited avelyuseVirusity diftualdom,and internactSwithBackendServIcesViaApisforDatahandling,butdoesnotprocessorcorsorsorstoredordordordoredairself。

在HTML中進行反應:構建交互式用戶界面在HTML中進行反應:構建交互式用戶界面Apr 20, 2025 am 12:05 AM

React可以嵌入到HTML中來增強或完全重寫傳統的HTML頁面。 1)使用React的基本步驟包括在HTML中添加一個根div,並通過ReactDOM.render()渲染React組件。 2)更高級的應用包括使用useState管理狀態和實現複雜的UI交互,如計數器和待辦事項列表。 3)優化和最佳實踐包括代碼分割、惰性加載和使用React.memo和useMemo來提高性能。通過這些方法,開發者可以利用React的強大功能來構建動態和響應迅速的用戶界面。

反應:現代前端發展基礎反應:現代前端發展基礎Apr 19, 2025 am 12:23 AM

React是構建現代前端應用的JavaScript庫。 1.它採用組件化和虛擬DOM優化性能。 2.組件使用JSX定義,狀態和屬性管理數據。 3.Hooks簡化生命週期管理。 4.使用ContextAPI管理全局狀態。 5.常見錯誤需調試狀態更新和生命週期。 6.優化技巧包括Memoization、代碼拆分和虛擬滾動。

React的未來:Web開發的趨勢和創新React的未來:Web開發的趨勢和創新Apr 19, 2025 am 12:22 AM

React的未來將專注於組件化開發的極致、性能優化和與其他技術棧的深度集成。 1)React將進一步簡化組件的創建和管理,推動組件化開發的極致。 2)性能優化將成為重點,特別是在大型應用中的表現。 3)React將與GraphQL和TypeScript等技術深度集成,提升開發體驗。

See all articles

熱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

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

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中