網頁佈局方式

網頁實質是塊與塊之間的位置,塊挨着塊,塊嵌套塊,塊疊着塊。

三種關係:相鄰,嵌套,重疊

 

下面介紹網頁佈局的常用幾種方式

1.一列布局:

一般都是固定的寬高,設置margin : 0 auto來水平居中,用於界面顯著標題的展示等;

複製代碼
        .main{
            width: 200px;
            height: 100px;
            background-color: grey;
            margin: 0 auto;
        }
<div class="main"></div>
複製代碼

 

2.兩列布局:

  說起兩列布局,最常見的就是使用float來實現。float浮動佈局的缺點是浮動後會造成文本環繞等效果,以及需要及時清除浮動

  設置左左浮動,或設置左右浮動(這是需要確定父級元素的寬度)

  如何父級元素沒有設置高度,則需要設置overflow:hidden來清除浮動產生的影響

  對於自己相鄰元素清除浮動產生的影響用:clear:both;

    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
複製代碼
        .main{
            width: 400px;
            background: red;
            overflow: hidden;
        }

        .left{
            background: yellow;
            float: left;
        }

        .right{
            background: green;
            float: left;
        }
複製代碼

 

3.三列布局:

兩側定寬中間自適應

首先設置父級元素的寬度,可以左左右設置浮動。然後中間設置margin調整間距。 也可以都設置成左浮動,設置margin,調整間距。同樣注意清除浮動的影響!

    <div class="main">
        <div class="left">left</div>
        <div class="middle">middle</div>
        <div class="right">right</div>
    </div>
複製代碼
        .main{
            width: 100%;
            background: red;
            overflow: hidden;
        }
        .left{
            background: yellow;
            float: left;
            width: 100px;
        }
        .middle{
             background: rosybrown;
             float: left;
             width: cacl(100%-200px);
         }
        .right{
            background: green;
            float: right;
            width: 100px%;
        }
複製代碼

 或着爲父級元素設置relative屬性,再爲子元素設置absolute屬性,再分別定位,調間距。

複製代碼
<div class="parent" style="background-color: lightgrey;">
    <div class="left" style="background-color: lightblue;">
        <p>left</p>
    </div>    
    <div class="center" style="background-color: pink;">
        <p>center</p>
        <p>center</p>
    </div>                
    <div class="right"  style="background-color: lightgreen;">
        <p>right</p>
    </div>            
</div>
複製代碼
複製代碼
<style>
p{margin: 0;}
.parent{position: relative;height:40px;}
.left,.right,.center{position: absolute;}
.left{left: 0;width:100px;}
.right{right: 0;width: 100px;}
.center{left: 120px; right: 120px;}
</style>
複製代碼

 

4.混合佈局:

在一列布局的基礎上,保留top和foot部分,將中間的main部分改造成兩列或三列布局,小的模塊可以再逐級同理劃分。

 

    <div class="top"></div>
    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer"></div>
複製代碼
        .top{
            height: 100px;
            background: teal;
        }
        .footer{
            height: 100px;
            background: wheat;
        }
        .main{
            width: 100%;
            background: red;
            overflow: hidden;
        }
        .left{
            background: yellow;
            float: left;
            width: 50%;
        }
        .right{
            background: green;
            float: right;
            width: 50%;
        }
複製代碼

 

5.擴展(如等分佈局等)

    <div class="parent">
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
    </div>
複製代碼
        body{margin: 0;}
        .parent{
            border: 1px solid red;
            overflow: hidden;
            margin-right: -10px;
        }
        .child {
            width: calc(25% - 10px);
            height: 100px;
            background: green;
            float: left;
            margin-right: 10px;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章