国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端系列第4集-解釋下浮動和它的工作原理,清除浮動的方法

這篇具有很好參考價值的文章主要介紹了前端系列第4集-解釋下浮動和它的工作原理,清除浮動的方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

浮動是CSS布局中的一個重要概念,它可以讓元素脫離標準文檔流,并且可以讓其他元素環(huán)繞在其周圍。通常情況下,浮動用于創(chuàng)建多列布局或者圖像與文字混排的效果。比如,我們可以使用浮動來實現(xiàn)一個左側導航欄、右側主體內(nèi)容的頁面布局。

浮動的工作原理很簡單。當一個元素設置為浮動后,它會嘗試盡可能地向左或者向右移動,直到遇到包含它的容器邊界或者其他浮動元素。同時,其他未設置浮動的元素會忽略浮動元素的位置,繼續(xù)按照標準文檔流排列。

清除浮動有多種方法,其中比較常見的兩種是:

  1. 使用clear屬性:在浮動元素的下方添加一個空元素,并給這個元素設置clear屬性。clear屬性有l(wèi)eft、right、both三個值,分別表示清除左浮動、右浮動以及兩者都清除。例如:

<div?style="clear:both;"></div>
  1. 使用overflow屬性:將浮動元素的容器元素設置為一個塊級元素,并給它設置overflow屬性。這樣可以強制容器元素包含浮動元素,并且不會出現(xiàn)溢出的情況。例如:

<div?style="overflow:auto;">
??<div?style="float:left;">浮動元素</div>
</div>
  1. 使用after偽元素:在浮動元素的容器元素上添加一個clearfix類,并在CSS中定義clearfix類的樣式,使用after偽元素清除浮動。例如:

.clearfix:after?{
??content:?".";
??display:?block;
??height:?0;
??clear:?both;
??visibility:?hidden;
}
.clearfix?{
??zoom:?1;?/*?IE6/7?*/
}
<div?class="clearfix">
??<div?style="float:left;">浮動元素</div>
</div>
  1. 使用display屬性:將浮動元素的容器元素設置為table、table-cell或者flex等具有彈性布局的屬性。這種方法需要考慮兼容性和語義化的問題。例如:

<div?style="display:?table;">
??<div?style="display:?table-cell;?vertical-align:?top;">
????<div?style="float:left;">浮動元素</div>
??</div>
</div>
  1. 使用inline-block屬性:將父元素設置為display:inline-block,子元素再設置float:left等浮動屬性。這種方式也可以實現(xiàn)多列布局。

<div?style="display:?inline-block;">
??<div?style="float:?left;">浮動元素1</div>
??<div?style="float:?left;">浮動元素2</div>
??<div?style="float:?left;">浮動元素3</div>
</div>
  1. 使用BFC(塊級格式化上下文):在父元素上觸發(fā)BFC可以清除浮動,具體方式有多種,如給父元素設置overflow:hidden、position:absolute、display:table等屬性都可以觸發(fā)BFC。

<div?style="overflow:?hidden;">
??<div?style="float:?left;">浮動元素</div>
</div>

還有一個比較新的方法是使用CSS Grid布局中的grid屬性??梢詫⒆釉卦O置為grid-column-start和grid-column-end等屬性,然后在父元素上設置display: grid即可實現(xiàn)清除浮動。

<div?style="display:?grid;">
??<div?style="grid-column-start:?1;?grid-column-end:?2;">浮動元素1</div>
??<div?style="grid-column-start:?2;?grid-column-end:?3;">浮動元素2</div>
??<div?style="grid-column-start:?3;?grid-column-end:?4;">浮動元素3</div>
</div>
  1. 使用flex布局:將父元素設置為display:flex,子元素再設置float:left等浮動屬性。這種方式也可以實現(xiàn)多列布局。

<div?style="display:?flex;">
??<div?style="float:?left;">浮動元素1</div>
??<div?style="float:?left;">浮動元素2</div>
??<div?style="float:?left;">浮動元素3</div>
</div>
  1. 使用網(wǎng)格布局(Grid Layout):將父元素設置為display:grid,子元素再設置grid-column-start和grid-column-end等屬性。這種方式可以實現(xiàn)更復雜的多列布局。

<div?style="display:?grid;">
??<div?style="grid-column-start:?1;?grid-column-end:?2;">浮動元素1</div>
??<div?style="grid-column-start:?2;?grid-column-end:?3;">浮動元素2</div>
??<div?style="grid-column-start:?3;?grid-column-end:?4;">浮動元素3</div>
</div>

還有一種比較特殊的方法是使用偽元素:before和:after,將它們添加到包含浮動元素的容器中,并給它們設置clear:both屬性。這樣就可以清除浮動并且不需要在HTML中添加多余的元素。

.container:after?{
??content:?"";
??display:?table;
??clear:?both;
}

還有一種比較新的方法是使用CSS變量(CSS Variables)來清除浮動。我們可以在包含浮動元素的容器中添加一個::after偽元素,并且將這個偽元素的高度設置為0,然后利用CSS變量將容器的高度賦值給偽元素的高度,從而達到清除浮動的效果。例如:

.container::after?{
??content:?'';
??display:?block;
??height:?0;
??clear:?both;
??--height:?calc(100%?+?1px);?/*?設置CSS變量?*/
??height:?var(--height);?/*?使用CSS變量?*/
}

這種方法的好處是能夠動態(tài)地計算容器的高度,因此在響應式布局中更加靈活。但是需要注意的是CSS變量的兼容性問題,目前還不是所有的瀏覽器都支持CSS變量。

還有一種比較傳統(tǒng)的方法是使用JavaScript來清除浮動。我們可以在包含浮動元素的容器中添加一個空的div元素,并且給這個元素設置clear:both屬性,然后通過JavaScript來計算出容器的實際高度,將這個高度賦值給空的div元素。例如:

<div?class="container">
??<div?class="float-left">浮動元素1</div>
??<div?class="float-left">浮動元素2</div>
??<div?class="float-left">浮動元素3</div>
??<div?class="clear-float"></div>
</div>

<script>
??var?container?=?document.querySelector('.container');
??var?clearFloat?=?document.querySelector('.clear-float');
??clearFloat.style.height?=?container.offsetHeight?+?'px';
</script>

這種方法的好處是能夠解決一些兼容性問題,但是需要注意的是如果網(wǎng)頁中存在大量浮動元素,使用JavaScript來清除浮動可能會對性能產(chǎn)生影響。

還有一種比較特殊的情況,即使用flexbox布局時,浮動元素會自動清除。這是因為在flex容器中,子元素會默認設置為flex-item,而不是常規(guī)文檔流中的block元素。因此,浮動元素不會對flex容器中其他元素的布局產(chǎn)生影響。

.flex-container?{
??display:?flex;
}

.flex-item?{
??float:?left;?/*?浮動元素?*/
}

還有一種比較特殊的情況,即在CSS Grid布局中,浮動元素同樣會被自動清除。這是因為在Grid容器中,子元素默認設置為grid-item,而不是常規(guī)文檔流中的塊級元素。因此,浮動元素不會對Grid容器中其他元素的布局產(chǎn)生影響。

.grid-container?{
??display:?grid;
}

.grid-item?{
??float:?left;?/*?浮動元素?*/
}

還有一種比較簡單的清除浮動方法是使用CSS Flexbox布局。我們可以將浮動元素的父元素設置為display: flex,并且將子元素設置為flex屬性即可實現(xiàn)清除浮動的效果。

.parent?{
??display:?flex;?/*?將父元素設置為Flex容器?*/
}

.child?{
??flex:?1;?/*?將子元素設置為Flex項?*/
??float:?left;?/*?浮動元素?*/
}

浮動(Float)

浮動是 CSS 中用于實現(xiàn)元素水平布局的一種方式。通過 float 屬性,可以使一個元素脫離正常的文檔流,沿其容器的左側或右側邊緣排列。浮動通常用于實現(xiàn)文本環(huán)繞圖片、創(chuàng)建多列布局等效果。

工作原理

當一個元素應用 float 屬性后,它會沿其父容器的左側或右側邊緣浮動。其他非浮動元素將不會覆蓋浮動元素,而是環(huán)繞它。同時,浮動元素里面的文本和內(nèi)聯(lián)元素也會環(huán)繞浮動元素。需要注意的是,浮動元素只會影響其后的同級元素。

舉個例子,你可以為一個圖片元素設置 float: left,這會使圖片沿父容器左側浮動,同時后面的文本會環(huán)繞這個圖片。

清除浮動(Clear Float)

當一個元素浮動后,它會脫離正常文檔流,可能導致父容器高度塌陷等布局問題。為了解決這個問題,我們需要清除浮動。有以下幾種常用的清除浮動方法:

  1. 使用 clear 屬性:你可以在一個元素上應用 clear: both、clear: leftclear: right。這會使該元素不允許出現(xiàn)在浮動元素的旁邊,從而實現(xiàn)清除浮動的效果。

  2. 使用偽元素:這是一種常用的自動清除浮動的方法。通過為父容器添加一個 ::after 偽元素,并設置 content、displayclear 屬性,可以實現(xiàn)自動清除浮動。

    .clearfix::after?{
    ??content:?"";
    ??display:?table;
    ??clear:?both;
    }

    然后,為需要清除浮動的父容器添加 clearfix 類即可。

  3. 使用 overflow 屬性:為父容器設置 overflow: autooverflow: hidden 也可以實現(xiàn)清除浮動。這種方法有時可能會導致其他布局問題,需要根據(jù)實際情況權衡。

  4. 使用 display: flexdisplay: grid: 使用 Flexbox 或 Grid 布局的容器會自動清除浮動,因為這兩種布局方式不受子元素的浮動屬性影響。

倉庫地址:https://github.com/webVueBlog/WebGuideInterview文章來源地址http://www.zghlxwxcb.cn/news/detail-404810.html

到了這里,關于前端系列第4集-解釋下浮動和它的工作原理,清除浮動的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 設計一個學生類和它的一個子類——本科生類

    設計一個學生類( Student )和它的一個子類——本科生類( Undergraduate )。要求如下: (1)Student類有姓名( name )和年齡( age )屬性,兩者的訪問權限為 protected ;一個包含兩個參數(shù)的構造方法,用于給姓名和年齡屬性賦值;一個 show( ) 方法用于輸出Student的屬性信息,輸

    2023年04月09日
    瀏覽(25)
  • VRRP協(xié)議是什么?詳解它的工作原理

    VRRP協(xié)議是什么?詳解它的工作原理

    作者: Insist-- 個人主頁: insist--個人主頁 作者會持續(xù)更新網(wǎng)絡知識和python基礎知識,期待你的關注 前言 本文將講解VRRP是什么,以及它的工作原理,優(yōu)點以及基本概念。 目錄 一、VRRP協(xié)議是什么? 二、VRRP協(xié)議的工作原理 1、在搶占方式下 2、在非搶占方式下 三、VRRP的優(yōu)點

    2024年02月13日
    瀏覽(22)
  • AI發(fā)展方向 可解釋AI理論 發(fā)明與發(fā)現(xiàn) AI智能可解釋它的原理嗎? 理解不了就難以信任 沒有意圖更安全?

    只有我們刻意設計,并清晰了解其運作原理的東西才是發(fā)明。 例如,望遠鏡是發(fā)明,但通過望遠鏡看到木星,知道它有自己的衛(wèi)星,這是一個發(fā)現(xiàn)。大語言模型更像是發(fā)現(xiàn)。我們經(jīng)常為它們的能力感到驚奇。它們并不是設計出來的產(chǎn)物。 至于 AI 對人類生存的潛在危害,貝索

    2024年01月21日
    瀏覽(17)
  • 前端學習筆記:CSS中浮動的原理,定位

    前端學習筆記:CSS中浮動的原理,定位

    這是本人學習的總結,主要學習資料如下 馬士兵教育 float設計的初衷是為了有文字環(huán)繞圖片的效果,比如下圖。 所以有浮動效果的元素一定不會遮擋其他元素的文字。比如有兩個 div ,兩個 div 都有文字,正常文字在 div 左上角。 我們設置一個浮動一個不浮動,我們會看到浮

    2024年02月03日
    瀏覽(35)
  • 解壓你的壓縮:Python ZipFile 實戰(zhàn)指南(一)ZipFile 類和它的參數(shù)們

    項目 描述 維基百科 ZIP 格式 Python 官方文檔 zipfile - 使用ZIP存檔 搜索引擎 Google 、 Bing Zip 文件格式規(guī)范 APPNOTE.TXT 項目 描述 Python 3.10.6 操作系統(tǒng) Windows 10 專業(yè)版(x86-64) Zip 文件 ZIP 文件格式是一種數(shù)據(jù)壓縮和文檔儲存的文件格式, 原名 Deflate,發(fā)明者為菲爾·卡茨(Phil Katz),

    2023年04月23日
    瀏覽(25)
  • 什么是浮動(float)?如何清除浮動?

    什么是浮動(float)?如何清除浮動?

    前端入門之旅:探索Web開發(fā)的奇妙世界 歡迎來到前端入門之旅!感興趣的可以訂閱本專欄哦!這個專欄是為那些對Web開發(fā)感興趣、剛剛踏入前端領域的朋友們量身打造的。無論你是完全的新手還是有一些基礎的開發(fā)者,這里都將為你提供一個系統(tǒng)而又親切的學習平臺。在這個

    2024年02月12日
    瀏覽(18)
  • 深入解讀 Axios 攔截器:全面了解它的工作原理和實際應用

    深入解讀 Axios 攔截器:全面了解它的工作原理和實際應用

    ?Axios提供了一種稱為 “攔截器(interceptors)” 的功能,使我們能夠在請求或響應被發(fā)送或處理之前對它們進行全局處理。攔截器為我們提供了一種簡潔而強大的方式來轉換請求和響應、進行錯誤處理、添加認證信息等操作。在本文中,我們將深入探討如何使用 Axios 的攔截器

    2024年04月09日
    瀏覽(22)
  • 【前端|CSS系列第3篇】CSS盒模型、浮動及定位

    【前端|CSS系列第3篇】CSS盒模型、浮動及定位

    在前端開發(fā)中,CSS是一項重要的技術,用于控制網(wǎng)頁的樣式和布局。在本系列的第三篇文章中,我們將學習CSS的盒模型、浮動以及定位,這些概念和技術在頁面布局中起著至關重要的作用。通過本文的學習,希望能夠幫助大家更好地理解和運用這些關鍵概念。 CSS盒模型是用來

    2024年02月11日
    瀏覽(26)
  • 【CSS】網(wǎng)站 網(wǎng)格商品展示 模塊制作 ( 清除浮動需求 | 沒有設置高度的盒子且內(nèi)部設置了浮動 | 使用雙偽元素清除浮動 )

    【CSS】網(wǎng)站 網(wǎng)格商品展示 模塊制作 ( 清除浮動需求 | 沒有設置高度的盒子且內(nèi)部設置了浮動 | 使用雙偽元素清除浮動 )

    繪制的如下模塊 : 在上面的盒子中 , 沒有設置高度 , 只設置了一個 1215px 的寬度 ; 在列表中每個列表項都設置了 浮動 ; ? 之前的盒子都設置了高度 , 因此其中雖然設置了浮動 , 但不會影響到后續(xù)的頁面布局 ; 上述模型中 , 沒有設置高度 , 并且設置了浮動 , 如果不清除浮動 , 后

    2024年02月10日
    瀏覽(29)
  • [保姆教程] Windows平臺下OpenCV編譯安裝和它的Go語言實現(xiàn)gocv的使用(親測通過)

    [保姆教程] Windows平臺下OpenCV編譯安裝和它的Go語言實現(xiàn)gocv的使用(親測通過)

    一、下載安裝 MinGW CMake 預備步驟 首先打開cmd: 下載安裝MinGW64 訪問: https://sourceforge.net/projects/mingw-w64/files/ 下載: MinGW-W64 GCC-8.1.0 下面的 x86_64-posix-seh 版本 下載后,將它解壓縮到 c:mingw64 里 下載安裝 CMake 訪問:https://cmake.org/download/ 下載:Windows x64 ZIP 解壓到: c:cmake Window

    2024年02月16日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包