布林值-JavaScript入門基礎(012)
阿新 • • 發佈:2021-01-19
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .p1{ width: 100px; height: 30px; font-size: 20px; background-color: red; margin-bottom: 20px; } .p2{ width: 100px; font-size: 20px; height: 30px; background-color: yellow; margin-top: 50px; } .d1{ width: 1000px; height: 600px; border: 1px solid gray; margin:0 auto; } .d2{ width: 200px; height: 500px; background-color: red; float: left; } .d3{ width: 500px; height: 500px; background-color: yellow;float: right; } .d4{ /*width: 600px;*/ height: 600px; background-color: green; overflow: hidden; /*display: inline-block;*/ } </style> </head> <body> <!-- BFC(Block Formatting Context)"塊級格式化上下文" 它是頁面裡的任意一塊獨立的渲染區域,只有Block-level box參與。 在BFC內部有一定的排布規則,且這個區域與外部毫不相干。 概念1:Box 頁面佈局的基本單位,一個頁面有多個box組成,元素的預設型別和display樣式,最終決定了這個box的型別。不同的box型別會參與不同的Fromatting Context. 概念2:Formatting Context:這是css2.1提出的概念,是頁面中的一塊渲染區域,不同型別的元素會形成不同的渲染區域,其內部渲染規則不同,它決定了其內部子元素如何排列,
以及和其他元素之間的關係和相互作用,最常見的Formatting Context有兩種:BFC(Block Formatting Context)和IFC(inline Formatting Context) BFC的佈局規則 1.內部的行box(一行裡所有行元素的組合)和塊box全部會在垂直方向上,一個一個的放置 2.box垂直方向上的距離有margin決定,屬於同一個BFC的兩個相鄰的box的margin會發生融合 3.每個盒子的margin的左邊緣,與其父元素的左邊緣相接觸(如果發生了從右向左的格式化,效果相反),此條對於浮動元素依然適用。 4.BFC區域不會與float box重疊。 5.BFC區域是頁面時一個獨立的渲染區域,容器裡的子元素不會影響外部元素,反之亦然。 6.計算一個BFC容器的高度時,浮動元素也會參與計算。 如何建立一個BFC 1.float的值不是none. 2.position的值不是static或者relative 3.display的值時inline-block,table-cell,flex,table-caption或者inline-flex 4.overflow的值不是visible。 --> <!--<div class="p1"></div> <div class="p2"></div>--> <div class="d1"> <div class="d2"></div> <div class="d3"></div> <div class="d4"></div> </div> </body> </html>