1. 程式人生 > >CSS布局

CSS布局

pos 流動布局 使用 src 願望 css strong 語句 div

在網頁中,元素有三種布局模型
1、流動模型(Flow)
2、浮動模型 (Float)
3、層模型(Layer)

流動模型

流動(Flow)是默認的網頁布局模式。也就是說網頁在默認狀態下的 HTML 網頁元素都是根據流動模型來分布網頁內容的。

流動布局模型具有2個比較典型的特征:

第一點,塊狀元素都會在所處的包含元素內自上而下按順序垂直延伸分布,因為在默認狀態下,塊狀元素的寬度都為100%。實際上,塊狀元素都會以行的形式占據位置。

第二點,在流動模型下,內聯元素都會在所處的包含元素內從左到右水平分布顯示。(內聯元素可不像塊狀元素這麽霸道獨占一行)

浮動模型

塊狀元素這麽霸道都是獨占一行,如果現在我們想讓兩個塊狀元素並排顯示,怎麽辦呢?不要著急,設置元素浮動就可以實現這一願望。

任何元素在默認情況下是不能浮動的,但可以用 CSS 定義為浮動,如 div、p、table、img 等元素都可以被定義為浮動。如下代碼可以實現兩個 div 元素一行顯示。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:left;
}
<div id="div1"></div>
<div id="div2"></div>

效果圖

技術分享

當然你也可以同時設置兩個元素右浮動也可以實現一行顯示。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:right;
}

效果圖

技術分享

又有小夥伴問了,設置兩個元素一左一右可以實現一行顯示嗎?當然可以:

div{
    width:200px;
    height:200px;
    border:2px red solid;
}
#div1{float:left;}
#div2{float:right;}

效果圖

技術分享

層模型

層模型有三種形式:

1、絕對定位(position: absolute)

2、相對定位(position: relative)

3、固定定位(position: fixed)

如果想為元素設置層模型中的絕對定位,需要設置position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然後使用left、right、top、bottom屬性相對於其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對於body元素,即相對於瀏覽器窗口。

如下面代碼可以實現div元素相對於瀏覽器窗口向右移動100px,向下移動50px。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}
<div id="div1"></div>

效果如下:

技術分享

CSS布局