国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
鑰匙要點
在塊格式上下文中的盒子對齊
讓我們考慮一個示例,以理解這一點。
使用塊格式上下文來防止保證金崩潰
使用塊格式上下文來防止文本包裝
在多列布局中使用塊格式上下文
塊格式上下文(BFC)中,塊格式上下文的重要性是什么,是CSS中控制網頁上元素布局的基本概念。它在元素的定位和樣式中起著至關重要的作用,尤其是在復雜的布局中。 BFC有助于隔離文檔的部分,其中包含浮子,內聯(lián)塊和表,這可以防止意外的元素重疊。了解BFC可以幫助開發(fā)人員創(chuàng)建更健壯和可預測的設計。
>如何創(chuàng)建一個新的塊格式上下文?
塊格式上下文對邊緣的影響是什么?
可以嵌套格式化上下文嗎?彼此嵌套。每個BFC獨立于其父母和兄弟姐妹BFC運作。這意味著每個BFC中都包含浮子,邊距和其他布局特征,并且不影響其他BFC中的元素。
>塊格式化上下文和堆疊上下文之間的關系是什么?
>是否存在塊格式上下文的瀏覽器兼容性問題?
首頁 web前端 css教程 了解CSS中的塊格式環(huán)境

了解CSS中的塊格式環(huán)境

Feb 24, 2025 am 09:05 AM

了解CSS中的塊格式環(huán)境

鑰匙要點

  • >塊格式上下文(BFC)是鋪設塊框的網頁的Visual CSS渲染的一部分??梢酝ㄟ^添加特定的CSS條件來創(chuàng)建它,例如“溢出:滾動”,“顯示:flex”,“ float:左”等。
  • BFC可以導致邊緣崩潰,這意味著兩個兄弟姐妹盒之間的垂直距離不是其單個邊緣的總和。但是,創(chuàng)建新的BFC可以防止此保證金崩潰。
  • BFC可用于包含浮子。在容器浮動元素的情況下,定義BFC可以幫助包含這些元素并保持頁面的正常流程。 bfcs可以防止文本包裹在浮動對象上。通過為段落元素建立新的BFC,它不再觸摸容器塊的左邊緣,從而阻止文本圍繞浮動元素包裹。>
  • bfcs也可以在多列布局中有用。通過在布局的一列中建立新的BFC,它將始終在填充之前的列后剩下的剩余空間,以防止最后一列在某些瀏覽器中掉落到下一行。
  • >一個塊格式上下文是一個網頁的Visual CSS渲染的一部分,其中塊框在其中。其所屬的定位方案是正常流動。根據W3C:
  • 浮點,絕對位置的元素,內聯(lián)塊,表格,表托機和具有“溢出”的元素,而不是“可見”(除非該值已傳播到視口)建立新的塊格式格式上下文。

>上面的報價幾乎總結了如何形成塊格式上下文。但是,讓我們以易于理解的方式重新定義它。塊格式上下文是一個滿足以下條件之一的HTML框:

浮點的值不是沒有

位置的值既不是靜態(tài)的,也不是相對

顯示的值是表格,表格,內聯(lián)塊,flex或inline-flex

    溢出的值不可見。
  • 創(chuàng)建塊格式上下文
  • >可以明確觸發(fā)塊格式上下文。因此,如果我們要創(chuàng)建一個新的塊格式上下文,我們只需要在上面提到的任何一個CSS條件中添加任何一個。 例如,查看以下html:
  • 通過添加任何必要的CSS條件,例如溢出:滾動,溢出:隱藏,顯示:flex,float:左或顯示:到容器的表格,可以創(chuàng)建一個新的塊格式上下文。盡管上述任何條件都可以創(chuàng)建塊格式化上下文,但也將還有其他一些效果:>
    • 顯示:表可能會在響應中造成問題
    • 溢出:滾動可能顯示不需要的滾動條
    • float:左將將元素推向左側,其他元素圍繞它
    • 溢出:隱藏的將剪輯元素溢出

    因此,每當我們創(chuàng)建新的塊格式上下文時,我們都會根據要求選擇最佳條件。為了統(tǒng)一性,我使用了溢出:隱藏在本文中給出的所有示例中。

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  Some Content here
    <span><span><span></div</span>></span></span>

    >您可以隨意使用溢出以外的聲明:隱藏。

    在塊格式上下文中的盒子對齊

    w3c規(guī)格狀態(tài):

    在塊格式上下文中,每個盒子的左邊緣觸摸包含塊的左邊緣(對于左至左格式,右邊緣觸摸)。即使在存在浮子的情況下,這也是正確的(盡管一個盒子的

    線框可能會因浮子而縮?。呛凶咏⒁粋€新的塊格式化上下文(在這種情況下,盒子本身> may 由于浮子而變得狹窄)。

    了解CSS中的塊格式環(huán)境

    在更簡單的單詞中,正如我們在上圖中可以看到的那樣,屬于塊格式上下文的所有框都對齊(用于從左到右格式),其左外邊緣觸摸包含的左邊緣堵塞。在最后一個框中,我們可以看到,即使左側有一個浮動元素(棕色),另一個元素(綠色)仍然觸摸了包含塊的左邊緣。關于為什么發(fā)生這種情況的原則將在下面的文本包裝部分中討論。>>

    塊格式上下文導致邊緣崩潰

    在正常流動中,盒子是從包含塊的頂部開始垂直放置的。兩個兄弟姐妹之間的垂直距離由兩個兄弟姐妹的各個邊緣確定,但不是兩個邊緣的總和。

    讓我們考慮一個示例,以理解這一點。

    >

    在上圖中,我們考慮了一個塊格式上下文,在紅色框(一個div)包含兩個綠色兄弟姐妹(p elements)的情況下。

    了解CSS中的塊格式環(huán)境>相應的CSS是:

    >

    理想情況下,兩個兄弟姐妹之間的邊緣應該是兩個元素(20px)的邊緣的總和,但實際上是10px。這被稱為崩潰的邊緣。在兄弟姐妹邊緣不同的情況下,較高的邊距將占上風。

    <span><span>.container</span> {
    </span>  <span>overflow: hidden;
    </span><span>}</span>
    請參閱codepen上的sitepoint(@sitepoint)的筆ovzrer。

    使用塊格式上下文來防止保證金崩潰

    >首先,這聽起來可能有些混亂,因為我們在上面討論了塊格式的上下文會導致保證金崩潰。但是,我們必須記住的一件事是,僅當相鄰塊框(兄弟姐妹)之間的垂直邊緣僅在相同的塊格式上下文中崩潰。如果它們屬于不同的塊格式環(huán)境,那么它們之間的邊距就不會崩潰。因此,通過創(chuàng)建一個新的塊格式上下文,我們可以防止保證金崩潰。

    >

    讓我們在較早的示例中添加第三個兄弟姐妹,因此HTML變?yōu)椋?antml>

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  Some Content here
    <span><span><span></div</span>></span></span>
    相應的CSS為:

    <span><span>.container</span> {
    </span>  <span>overflow: hidden;
    </span><span>}</span>
    >結果將與上面相同,即將崩潰,三個兄弟姐妹將以10px的垂直距離分開。發(fā)生這種情況是因為所有三個P標簽都是相同塊格式上下文的一部分。

    現(xiàn)在,讓我們修改第三個兄弟姐妹,以便它是新的塊格式上下文的一部分。然后html變?yōu)椋?p>

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><p</span>></span>Sibling 1<span><span></p</span>></span>
    </span>  <span><span><span><p</span>></span>Sibling 2<span><span></p</span>></span>
    </span><span><span><span></div</span>></span></span>
    和CSS:

    <span><span>.container</span> {
    </span>  <span>background-color: red;
    </span>  <span>overflow: hidden; /* creates a block formatting context */
    </span><span>}
    </span>
    <span>p {
    </span>  <span>background-color: lightgreen;
    </span>  <span>margin: 10px 0;
    </span><span>}</span>
    現(xiàn)在的輸出將有所不同:

    了解CSS中的塊格式環(huán)境>由于第二和第三兄弟姐妹屬于不同格式的上下文,因此之間不會有任何差距,如以下演示中所示。

    請參閱codepen上的sitepoint(@sitepoint)的筆xbvoxp。

    使用塊格式上下文包含浮點

    >塊格式上下文可以包含浮子。很多時候,我們會遇到一個容器浮動元素的情況。在這種情況下,容器元件沒有高度,其漂浮的孩子不在頁面正常流程之外。我們通常使用清晰的解決方案來解決此問題,最受歡迎的方法是使用“清除”偽元素。但是,我們也可以通過定義塊格式上下文來實現(xiàn)這一目標。>

    讓我們看一個示例:

    與CSS:了解CSS中的塊格式環(huán)境

    在上述情況下,容器將沒有任何高度,也不會包含浮子的孩子。為了解決此問題,我們通過添加溢出來建立容器內部的新塊格式化上下文:隱藏。修改后的CSS變?yōu)椋?p>

    現(xiàn)在,容器將包含浮動的兄弟姐妹,其高度將擴展到包含其子女,其元素又回到了此格式化上下文中頁面的正常流程。
    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><p</span>></span>Sibling 1<span><span></p</span>></span>
    </span>  <span><span><span><p</span>></span>Sibling 2<span><span></p</span>></span>
    </span>  <span><span><span><p</span>></span>Sibling 3<span><span></p</span>></span>
    </span><span><span><span></div</span>></span></span>
    >請參閱codepen上的sitepoint(@sitepoint)帶有和不帶有塊格式上下文的筆浮子。

    使用塊格式上下文來防止文本包裝

    >有時圍繞它周圍的浮動div包裹的文本(如下圖中的圖1所示),但在某些情況下,這是不可取的,我們希望像圖2中的外觀一樣。要解決此問題,我們可能會使用邊距,但是我們也可以通過塊格式上下文解決此問題。

    了解CSS中的塊格式環(huán)境

    首先讓我們理解為什么文本包裹。為此,我們必須了解當元素浮動時框模型的工作原理。這是我之前留下的部分,同時討論塊格式上下文中的對齊方式。讓我們了解以下圖中圖1中發(fā)生的情況:

    了解CSS中的塊格式環(huán)境

    該圖的HTML可以假定為:

    >
    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  Some Content here
    <span><span><span></div</span>></span></span>
    上圖中的整個黑色區(qū)域表示P元素。如我們所見,P元素不會移動,但它位于浮動元素下。 P元素的線框(指文本行)會發(fā)生變化。因此,線框水平狹窄,以為浮動元件騰出空間。

    隨著文本的增加,它最終會在浮動元素下包裹,因為線框不再需要移動,因此出現(xiàn)了像圖1的條件。這解釋了即使存在浮動元件以及線框如何窄以適應浮動元件的范圍,這些段落如何觸及包含框的左邊緣。

    如果我們能夠移動整個P元素,則將解決此包裝問題。

    >在進入解決方案之前,讓我們再次回憶W3C規(guī)范所說的內容:>

    在塊格式上下文中,每個盒子的左邊緣觸摸包含塊的左邊緣(對于左至左格式,右邊緣觸摸)。即使在存在浮子的情況下,這也是正確的(盡管一個盒子的

    線框

    可能會因浮子而縮?。呛凶咏⒁粋€新的塊格式化上下文(在這種情況下,盒子本身

    > may

    由于浮子而變得狹窄)。

    >根據此,如果P元素建立一個新的塊格式上下文,則它將不再觸摸容器塊的左邊緣。這可以通過簡單地添加溢出:隱藏在P元素中來實現(xiàn)。這樣,創(chuàng)建一個新的塊格式上下文就解決了圍繞浮動對象的文本問題的問題。> 請參閱筆格式上下文,以防止codepen上的sitepoint(@sitepoint)。

    在多列布局中使用塊格式上下文

    >如果我們創(chuàng)建一個跨越容器的全寬度的多列布局,則最后一列有時會在某些瀏覽器中掉落到下一行。這可能會發(fā)生這種情況,因為瀏覽器正在圍繞列的寬度,并且總寬度比容器的寬度更大。但是,如果我們在布局的一列中建立了一個新的塊格式上下文,則它將始終在填充之前的列后剩下的剩余空間。

    。

    >讓我們使用一個帶有3列的多列布局的示例:>

    這是html:

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  Some Content here
    <span><span><span></div</span>></span></span>
    和CSS:

    <span><span>.container</span> {
    </span>  <span>overflow: hidden;
    </span><span>}</span>
    結果是在Codepen演示中:

    >請參閱使用塊格式上下文的筆,以在codepen上的sitepoint(@sitepoint)進行最終列。

    現(xiàn)在,即使容器的寬度略有變化,布局也不會破裂。當然,這不一定是多列布局的一個不錯選擇,但這是防止最終列掉落問題的一種方法。在這樣的情況下,F(xiàn)lexbox可能是一個更好的解決方案,但這應該說明在這種情況下元素的行為。

    結論

    我希望這篇文章向您展示了塊格式上下文的相關性,以及它們如何影響頁面上元素的視覺定位。顯示它們在實際情況下使用的示例應該使它們更加清楚。

    >

    如果您有任何要添加的內容,請在評論中告訴我們。如果您想更深入地,請務必查看W3C對該主題的更詳細討論。

    >

    >常見問題(常見問題解答)有關CSS

    中的塊格式上下文

    >在CSS?

    塊格式上下文(BFC)中,塊格式上下文的重要性是什么,是CSS中控制網頁上元素布局的基本概念。它在元素的定位和樣式中起著至關重要的作用,尤其是在復雜的布局中。 BFC有助于隔離文檔的部分,其中包含浮子,內聯(lián)塊和表,這可以防止意外的元素重疊。了解BFC可以幫助開發(fā)人員創(chuàng)建更健壯和可預測的設計。

    >

    >塊格式上下文如何影響浮動元素的布局?

    在BFC中,浮動元素包含在上下文中,這意味著這意味著它們不會影響B(tài)FC之外的元素的布局。當您要防止文本或其他元素包裹浮動元素時,這特別有用。通過創(chuàng)建新的BFC,您可以確保浮動元素不會干擾其他元素的定位。

    >如何創(chuàng)建一個新的塊格式上下文?

    >有幾種方法可以在CSS中建立新的BFC。一些最常見的方法包括將CSS屬性“顯示”設置為“流根”,“ Flex”或“網格”,或將“溢出”設置為“可見”以外的任何事物。創(chuàng)建新的BFC的其他屬性包括“包含”,如果其值為“布局”,“油漆”或包括其中的復合值,以及“列計數(shù)”或“列寬度”,如果它們具有其他值而不是'auto'。

    塊格式上下文對邊緣的影響是什么?

    >

    > BFC的關鍵特征之一是它們可以防止邊緣崩潰。在CSS中,相鄰的垂直邊緣有時會塌陷成一個邊緣,這是單個邊緣的最大邊緣。但是,在BFC中,第一個孩子的最高邊緣和最后一個孩子的底部邊緣不會隨BFC本身的邊緣而崩潰。這對于控制元素的間距可能很有用。

    >塊格式上下文如何處理溢出?

    當元素的內容溢出其框時,BFC可以幫助管理此溢出。如果元素創(chuàng)建了新的BFC,則任何溢出都會被剪切到BFC,而不是溢出??梢允褂谩耙绯觥睂傩詠砜刂七@一點,并具有諸如'auto','scroll'或'hidend''之類的值。

    塊格式上下文如何影響“ clear”屬性? CSS中的“透明”屬性用于控制浮動元素的流動。在BFC中,“清除”屬性僅影響同一BFC內的元素。這意味著具有“清除”集的元素不會在父bfc中的浮標下方移動,只有在其自己的bfc中浮動。

    可以嵌套格式化上下文嗎?彼此嵌套。每個BFC獨立于其父母和兄弟姐妹BFC運作。這意味著每個BFC中都包含浮子,邊距和其他布局特征,并且不影響其他BFC中的元素。

    >

    塊格式化上下文如何與flex和網格布局相互作用? CSS中的flex和網格布局會自動創(chuàng)建新的BFC。這意味著它們包含浮子,并以與其他BFC相同的方式防止邊緣塌陷和溢出。因此,了解BFC可以有助于理解Flex和Grid布局的行為。

    >

    >塊格式化上下文和堆疊上下文之間的關系是什么?

    bfc和堆疊上下文是CSS中的兩個獨立概念,但它們可以在某些情況下進行互動。例如,可以由具有“相對”或“絕對”的“位置”值和“ z index”值的元素創(chuàng)建新的堆疊上下文。這可能會影響B(tài)FC中元素的渲染,尤其是與浮子和重疊有關的元素。

    >是否存在塊格式上下文的瀏覽器兼容性問題?

    大多數(shù)現(xiàn)代瀏覽器正確且一致地處理BFC。但是,較舊的瀏覽器,尤其是Internet Explorer可能存在一些差異。在多個瀏覽器中測試您的布局始終是一個好主意,以確保它們的表現(xiàn)如預期的。

以上是了解CSS中的塊格式環(huán)境的詳細內容。更多信息請關注PHP中文網其他相關文章!

本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

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集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個根據目標瀏覽器范圍自動為CSS屬性添加廠商前綴的工具。1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設置browserslist、在構建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預處理器使用。

CSS教程,用于創(chuàng)建粘性標頭或頁腳 CSS教程,用于創(chuàng)建粘性標頭或頁腳 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

CSS教程,用于創(chuàng)建加載旋轉器和動畫 CSS教程,用于創(chuàng)建加載旋轉器和動畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉器的方法有三種:1.使用邊框的基本旋轉器,通過HTML和CSS實現(xiàn)簡單動畫;2.使用多個點的自定義旋轉器,通過不同延遲時間實現(xiàn)跳動效果;3.在按鈕中添加旋轉器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強調了設計細節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗。

CSS教程專注于移動優(yōu)先設計 CSS教程專注于移動優(yōu)先設計 Jul 02, 2025 am 12:52 AM

Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

如何創(chuàng)建本質上響應的網格布局? 如何創(chuàng)建本質上響應的網格布局? Jul 02, 2025 am 01:19 AM

要創(chuàng)建內在響應式網格布局,核心方法是使用CSSGrid的repeat(auto-fit,minmax())模式;1.設置grid-template-columns:repeat(auto-fit,minmax(200px,1fr))讓瀏覽器自動調整列數(shù)并限制每列最小和最大寬度;2.使用gap控制格子間距;3.容器應設為相對單位如width:100%、配合box-sizing:border-box避免寬度計算錯誤并用margin:auto居中;4.可選設置行高與內容對齊方式提升視覺一致性,如row

如何將整個網格集中在視口中? 如何將整個網格集中在視口中? Jul 02, 2025 am 12:53 AM

要讓整個網格布局在視口中居中顯示,可通過以下方法實現(xiàn):1.使用margin:0auto實現(xiàn)水平居中,需設定容器固定寬度,適用于固定布局;2.利用Flexbox在外層容器設置justify-content和align-items屬性,結合min-height:100vh可實現(xiàn)垂直和水平居中,適合全屏展示場景;3.直接使用CSSGrid的place-items屬性在父容器上快速居中,簡潔且現(xiàn)代瀏覽器支持良好,同時需確保父容器有足夠高度。每種方式均有適用場景和限制,根據實際需求選擇合適的方案即可。

CSS中使用@supports的功能檢測是什么? CSS中使用@supports的功能檢測是什么? Jul 02, 2025 am 01:14 AM

prainuredetectionIncsssusissuse@supportScheckSifabRowsEsuppecifortSupecifortEfeatureBeforeApplyingReplyingStyles.1.itusesconditionalcsssssbasssbasedonproperty-valueperty-valuepairs,suessas@supports@supports@supports@supports(display:grid)

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異并合理使用廠商前綴。1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動畫表現(xiàn)不同;2.查閱CanIuse確認特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動添加前綴;5.安裝PostCSS并配置browserslist指定目標瀏覽器;6.構建時自動處理兼容性;7.老項目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

See all articles