91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS圣杯布局是什么意思

發布時間:2020-11-18 10:35:24 來源:億速云 閱讀:339 作者:小新 欄目:web開發

這篇文章給大家分享的是有關CSS圣杯布局是什么意思的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

在CSS中,圣杯布局是指兩邊盒子寬度固定,中間盒子自適應的三欄布局,其中,中間欄放到文檔流前面,保證先行渲染;三欄全部使用“float:left”浮動,并配合left和right屬性。

前端的兩個經典布局想必大家都有多了解--圣杯布局和雙飛翼布局,因為它既能體現你懂HTML結構又能體現出你對DIV+CSS布局的掌握。

事實上,圣杯布局其實和雙飛翼布局是一回事。它們實現的都是三欄布局,兩邊的盒子寬度固定,中間盒子自適應,也就是我們常說的固比固布局。它們實現的效果是一樣的,差別在于其實現的思想。

通過縮放頁面就可以發現,隨著頁面的寬度的變化,這三欄布局是中間盒子優先渲染,兩邊的盒子框子固定不變,即使頁面寬度變小,也不影響我們的瀏覽。注意:當你縮放頁面的時候,寬度不能小于700PX,為了安全起見,最好還是給body加一個最小寬度!
如果你有了那么一點理解以后,我們來看看圣杯布局的實現:

注:reset部分的代碼大家自行添加

1、HTML結構:

<header>
    <h5>Header內容區</h5>
</header>
<div class="container">
    <div class="middle">
        <h5>中間彈性區</h5>
    </div>
    <div class="left">
        <h5>左邊欄</h5>
    </div>
    <div class="right">
        <h5>右邊欄</h5>
    </div>
</div>
<footer>
    <h5>Footer內容區</h5>
</footer>

有人可能會有疑惑,為什么中間的主體部分要寫在最前面。因為中間盒子是要被優先渲染嘛~并且設置其自適應,也就是width:100%。

2、css樣式:

header{
    width: 100%;    height: 40px;
    background-color: #8ecfd4;
}
.container{
    overflow:hidden;
}
.middle{
    width: 100%;
    background-color: #f7f537;
    float:left;
}
.left{ 
    width: 200px;
    background-color: #37f7c8;
    float:left;
}
.right{
    width: 200px;
    background-color: #eb6100;
    float:left;
}
footer{
    width: 100%; 
    height: 30px;
    background-color: #8ecfd4;
}

此時的效果圖:

CSS圣杯布局是什么意思

這時中間的三欄并沒有在一行內顯示,原因也很明確。三欄都浮動起來了,但是middle欄的寬度設置成了100%,到時左右兩邊的撐不下換行顯示了。

現在我們需要做的是將left欄放到左側,right欄放到右側。那么我們就需要css的負margin了。

3、利用負邊距布局

.left{
    margin-left:-100%;
}

讓右邊的盒子上去

.right {
    margin-left:-200px;
}

此時的效果圖

CSS圣杯布局是什么意思

實現固比固布局

雖然現在貌似已經實現了我們想要的布局,但是在中間填充內容的時候我們還是會發現問題。這一步我們也將中間的主體部分給一個高度,方便視覺效果。

.middle{
    width: 100%;
    height: 200px; 
    background-color: #f7f537;
    float:left;
}
.left{    
    width: 200px;
    height: 200px;
    background-color: #37f7c8;
    float:left;
}
.right{
    width: 200px;
    height: 200px;
    background-color: #eb6100;
    float:left;
}

CSS圣杯布局是什么意思

從上面的效果圖可以看出,middle欄的內容被兩邊的部分遮擋住的,這并不是我們想要的,所以我們的工作還得繼續。

4、讓中間自適應的盒子安全顯示(利用父級元素設置左右內邊距的值,把父級的三個子盒子往中間擠。)

.container{ 
    padding: 0 200px;
}

這里的200px是左右盒子的寬度。

效果如下:

CSS圣杯布局是什么意思

利用父級的內邊距將盒子往中間擠

我們可以看到,左右兩邊的內邊距是有了,但是中間盒子上的內容還是被壓著。

5、左右兩邊分開來(給左右兩個盒子加一個定位,加了定位之后左右兩個盒子就可以設置left和right值。)

.left{ 
    position: relative; 
    left: -200px;
}
.right{
    position: relative;
    right: -200px;
}

看最終效果圖

CSS圣杯布局是什么意思

現在我們的圣杯布局就OK啦!實現了我們要的效果,左右側的盒子固定,中間盒子自適應,而且中間盒子的內容完全不受影響。希望對大家有幫助。

感謝各位的閱讀!關于CSS圣杯布局是什么意思就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利津县| 道真| 汨罗市| 福安市| 周口市| 陵水| 略阳县| 锡林郭勒盟| 广丰县| 肥西县| 章丘市| 延庆县| 施秉县| 灵宝市| 于都县| 理塘县| 河曲县| 沅江市| 武威市| 浙江省| 正安县| 青河县| 交口县| 从化市| 华池县| 敖汉旗| 博客| 辽源市| 马鞍山市| 湖北省| 东阿县| 惠东县| 玉山县| 泗阳县| 葵青区| 蒲江县| 兴宁市| 昌图县| 武平县| 武强县| 惠水县|