浮動與定位、bfc和ifc

CSS的兩大特性:

層疊性
繼承性: 1、文本樣式
        2、字體樣式
        3、列表樣式
        4、表格樣式

浮動與定位

浮動

clear:left;right;both;清除前面所有元素的浮動對這個元素的影響。
前面元素哪邊浮動就清除哪邊,前面所有元素的浮動都清除時用both。

定位

屬性

position:
    static 沒有定位(默認)
    absolute;絕對定位
    relative;相對定位
    fixed;固定定位
top: 數值;
right: 數值;
bottom: 數值;
left: 數值;
overflow:(設置當元素的內容溢出其區域時發生的事情。)
    visible;不裁剪
    hidden;裁剪
    scroll;裁剪並顯示滾動條
    auto;若內容被裁剪則主動添加滾動條
    inherit;
clip:設置元素的形狀。只針對於一個絕對定義元素
    唯一合法的形狀值是:rect (top, right, bottom, left) 
vertical-align: 元素的垂直對齊方式。
z-index:元素的堆疊順序
    auto; 堆疊順序與父元素相等。(默認) 
    number; 設置元素的堆疊順序。 (數值越大越靠前)

靜態定位

static 沒有定位,元素出現在正常流中(默認)

絕對定位

子元素絕對定位時,它是按第一個絕對定位的父元素定位;
絕對定位不考慮默認的“margin”值。
position: absolute;
top: 數值;
left: 數值;

相對定位

元素相對元素原來(在正常流中)的定位
position: relative;
top: 數值;
left: 數值;

固定定位

相對body定位。
position: fixed;
top: 數值;
left: 數值;

各種定位的原位置

相對定位——原來的位置被保留;
絕對定位、固定定位——原位置被清空;
當頁面內容多右側出現滾動條時,固定定位的元素不會隨滾動條滾動。

隱藏

display: none; ——原有位置被清空
visivility: hidden; ——原有位置被保留

bfc塊級格式化上下文

——block formatting context【塊級格式化上下文(環境)】
bfc中的佈局原則:
1、在bfc環境中所有元素在垂直方向上一個接一個的放置;
2、相鄰盒子(box)在垂直方向上的margin值會重疊;
3、內部盒子會與bfc的左邊(右邊)線接觸,浮動也是這樣;
4、bfc區域不會與浮動盒子重疊;
5、bfc環境中子元素與外界分離,不會影響到外面的元素,而外面的元素也不會影響到bfc裏面的元素;
6、bfc中浮動元素會參與計算。
——觸發bfc——overflow: hidden;

bfc的觸發方式:
float: 值不爲none時;
position: absolute; fixed;
display: inline-block;table-cell;table-caption;flex;inline-flex;
overflow: 不爲visible時;

ifc行級格式化上下文

——inline formatting context【行級格式化上下文(環境)】
1、ifc中的元素會在一行上從左到右排列;
2、在一行上的所有元素會在該區域形成一個行框;
3、行框的寬度爲包含框的寬度,高度爲行框中最高的元素的高度;
4、浮動的元素不會再行框中,並且浮動會壓縮行框寬度;
5、行框的寬度容納不下子元素時,子元素會換到下一行顯示。並會產生新的行框。
6、行框內的元素遵循text-align和vertical-align。

ifc的觸發方式:
1、插入空的行級元素

2、在父元素上插入空白行內爲元素
1)父級:after(/before){
         content: "";
         font-size: 0px;
         display: inline-block;
         width: 0px;
         height: 100%;
         vertical-align: middle;
2)給所有需要居中的元素添加: vertical-align: middle;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章