所有產生了浮動流的元素,塊級元素看不到他們
產生了bfc的元素和文字類屬性(inline)的元素以及文字都能看到浮動元素
block fomatting context = block-level box + formatting contex
box:即盒子模型
formatting context:是w3c css2.1規範中的乙個概念。它是頁面中的一塊渲染區域,並且有一套渲染規則,它決定了其子元素將如何定位,以及和其他元素的關係、相互作用。最常見的 formatting context 有 block fomatting context (簡稱bfc)和 inline formatting context(簡稱ifc)。
bfc 定義:直譯為"塊級格式化上下文"。通過特定的手段觸發bfc讓其中的乙個或者某些盒子的渲染規則發生改變。
如何觸發bfc:
設定定位position=absolute;
display:inline-block;
float:left/right;
overflow:hidden;
tips:css中設定了position:absolute;或者display:inline-block 內部會預設將當前標籤元素的display設定為inline-block
這種盒模型的元件預設佔據一行,允許通過css設定寬頻、高度。
這種盒模型的組建預設佔據一行,允許通過css設定寬頻、高度
例如:、、、、
block 元素會獨佔一行,多個block元素會各自新起一行。預設情況下,block元素寬度會自動填滿其父元素的寬度。
block元素可以設定width,height屬性。塊級元素及時設定了寬度,仍然是獨佔一行。
block元素可以設定margin和padding屬性。
這種盒模型的元件不會佔據一行,不可以調整寬度、高度。
例如:、、、、、、、、
。css為display屬性提供了block、inline兩個屬性值,可以改變html元件預設的盒模型。
inline元素不會獨佔一行,多個相鄰的行內元素會排列在同一行裡,直到一行排列不下,才會新換一行,其寬度隨元素的內容而變化。
inline元素設定width,height均無效。
inline元素的margin和padding屬性,水平方向的padding-left、padding-right、margin-left、margin-right都產生邊距效果,但豎直方向上的padding-top、padding-bottom、margin-top和margin-bottom不會產生邊距效果。
css還提供了一種inline-block盒模型,這種盒模型是inline模型和block模型的綜合體:inline-block盒模型的元素不會佔據一行,同時也支援width、height指定寬頻及高度。並且允許它的左邊和右邊出現其他內容。
應用場合
很多時候我們必須讓一些塊元素併排顯示,一般會想到浮動,但是塊元素浮動設邊距的時候在ie下會出現加倍的bug,所以很多時候不得不把這個塊元素套在乙個內聯元素裡,然後給這個內斂元素浮動和邊距。通過設定:display:inline-block,就將物件呈遞為內聯物件,但物件的內容作為塊物件呈遞。旁邊的內聯物件會被呈遞在同一行內,允許空格。
block元素可以包含block元素和inline元素,但inline元素只能包含inline元素。要注意這個是乙個大概的說法,每個特定的元素能包含的元素也是特定的,所以具體到個別元素上,這條規律是不適用的。比如p元素,只能包含inline元素,而不能包含block元素。
一般來說,可以通過display:inline和display:block的設定來改變元素的布局級別。
相容性問題:ie6、ie7不支援inline-block,所以在ie中對內聯元素使用display:inline-block理論上ie是不識別的,但會在ie下觸發layout,從而使內聯元素擁有了display:inline-block屬性的表象
!important
行間樣式
idclass | 屬性 | 偽類
標籤 | 偽元類
萬用字元1.行級元素只能巢狀行級元素
2.塊級元素可以巢狀任何元素
3.p標籤不能放div元素 (規定)
6.標準盒模型和ie盒模型(怪異盒模型)
有時候給乙個元素盒子容易設定了寬度200 高度100,但是如果又設定了padding : 10px 10px 10px 10px ,這樣的話如果是在標準盒模型下,總寬度就是220px,但是如果切換為怪異盒模型,那總寬度依然是200,padding依然是10px 10px 10px 10px,只是內容content區域變小啦
開啟怪異盒模型方式:box-sizing: border-box;
1.標準盒模型
總寬度=border(左右)+ width + padding(左右)
總高度=boder(上下)+ height + padding (上下)
2.ie盒模型(怪異盒模型)
總寬度=width
總高度=height
1.margin塌陷
2.margin合併 (父元素內部都是浮動元素的話)
使用塊級元素block來清除浮動解決問題
.clear {
clear: both;
也可以在偽元素::after中clear:both;display:block,因為偽元素預設是inline行級元素。
設定了position:abolute;float:left/right屬性的元素會打內部把元素轉化成inline-block
WPF實用知識點
1.乙個基本的wpf程式,需要引入的程式集windowsbase,presentationcore,presentationframework using system using system.windows namespace swpf 2.所有的xaml檔案裡面的標籤都會轉化成對應的c 物件....
sass實用知識點
說明 本文的內容是,我在開發實踐中總結的實用性比較強的sass知識點,其他未涉及的知識,如果對你有作用請自行查閱 sass知識目錄 巢狀注釋 sassscript 規則mixin指令 巢狀一般寫法 div 父選擇器引用 div span 相同字首的css樣式簡寫形式 div div 注釋多行注釋 會...
實用的css知識點總結
1.text indent 屬性規定文字塊中首行文字的縮排。注釋 允許使用負值。如果使用負值,那麼首行會被縮排到左邊。text indent 2em 首行文字縮排 2字元 em是相當單位,用 em可以實現動態改變。不論字型調大還是調小,都能實現首行文字縮排的是 2字元。一般都建議用標準的html來顯...