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

溫馨提示×

溫馨提示×

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

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

css中有哪些實現等高布局常的方法

發布時間:2021-05-08 17:43:51 來源:億速云 閱讀:151 作者:Leah 欄目:web開發

這篇文章給大家介紹css中有哪些實現等高布局常的方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

什么是css

css是一種用來表現HTML或XML等文件樣式的計算機語言,主要是用來設計網頁的樣式,使網頁更加美化。它也是一種定義樣式結構如字體、顏色、位置等的語言,并且css樣式可以直接存儲于HTML網頁或者單獨的樣式單文件中,而樣式規則的優先級由css根據這個層次結構決定,從而實現級聯效果,發展至今,css不僅能裝飾網頁,也可以配合各種腳本對于網頁進行格式化。

等高布局的方式

指在同一個父容器中,子元素高度相等的布局.

從等高布局實現方式來說,又分為兩類

偽等高

子元素高度差依然存在,只是視覺上給人感覺就是等高.

真等高

子元素高度相等

先來看看偽等高實現方式

通過負margin和Padding實現

真等高實現方式

  • table

  • absoult

  • flex

  • grid

  • js

偽等高之-負margin和padding

主要利用負margin來實現, 具體 負margin實現可以參考下這篇文章

 <div class="layout parent">
        <div class="left"><p>left</p></div>
        <div class="center">
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
        </div>
        <div class="right"><p>right</p></div>
        <div style="clear: both;">11111111111</div>
    </div>
.parent{
    position: relative;
    overflow:hidden;
    color: #efefef;
}
.center,
.left,
.right {
    box-sizing: border-box;
    float: left;
}
.center {
    background-color: #2ECC71;
    width: 60%;
}

.left {
    width: 20%;
    background-color: #1ABC9C;
}
.right {
    width: 20%;
    background-color: #3498DB;
}
.left,
.right,
.center  {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}

真實等高之 - table布局

  <div class="layout parent">
        <div class="left"><p>left</p></div>
        <div class="center">
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
        </div>
        <div class="right"><p>right</p></div>
        <div style="clear: both;">11111111111</div>
    </div>
.parent{
        position: relative;
        display: table;
        color: #efefef;
    }
    .center,
    .left,
    .right {
        box-sizing: border-box;
        display: table-cell
    }
    .center {
        background-color: #2ECC71;
        width: 60%;
    }

    .left {
        width: 20%;
        background-color: #1ABC9C;
    }
    .right {
        width: 20%;
        background-color: #3498DB;
    }

真實等高之 - absolute

<div class="layout parent">
        <div class="left"><p>left</p> </div>
        <div class="center">
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
        </div>
        <div class="right"><p>right</p></div>
    </div>
   .parent{
        position: absolute;
        color: #efefef;
        width:100%;
        height: 200px;
    }

    .left,
    .right,
    .center {
        position: absolute;
        box-sizing: border-box;
        top:0;
        bottom:0;
    }
    .center {
        background-color: #2ECC71;
        left: 200px;
        right: 300px;
    }

    .left {
        width: 200px;
        background-color: #1ABC9C;
    }
    .right {
        right:0;
        width: 300px;
        background-color: #3498DB;
    }

真實等高之 - flex

.parent{
    display: flex;
    color: #efefef;
    width:100%;
    height: 200px;
}

.left,
.right,
.center {
    box-sizing: border-box;
    flex: 1;
}
.center {
    background-color: #2ECC71;
}
.left {
    background-color: #1ABC9C;
}
.right {
    background-color: #3498DB;
}
<div class="layout parent">
    <div class="left"><p>left</p> </div>
    <div class="center">
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
    </div>
    <div class="right"><p>right</p></div>
</div>

真實等高之 - grid

.parent{
        display: grid;
        color: #efefef;
        width:100%;
        height: 200px;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .left,
    .right,
    .center {
        box-sizing: border-box;
    }
    .center {
        background-color: #2ECC71;
    }
    .left {
        background-color: #1ABC9C;
    }
    .right {
        background-color: #3498DB;
    }
<div class="layout parent">
    <div class="left"><p>left</p> </div>
    <div class="center">
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
        <p>我是中間部分的內容</p>
    </div>
    <div class="right"><p>right</p></div>
</div>

真實等高之 - js

獲取所有元素中最高列,然后再去比對再進行修改
<div class="layout parent">
        <div class="left"><p>left</p> </div>
        <div class="center">
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
            <p>我是中間部分的內容</p>
        </div>
        <div class="right"><p>right</p></div>
    </div>
.parent{
        overflow: auto;
        color: #efefef;
    }
    .left,
    .right,
    .center {
        float: left;
    }
    .center {
        width: 60%;
        background-color: #2ECC71;
    }
    .left {
        width: 20%;
        background-color: #1ABC9C;
    }
    .right {
        width: 20%;
        background-color: #3498DB;
    }
 // 獲取最高元素的高度
    var nodeList = document.querySelectorAll(".parent > div");
    var arr = [].slice.call(nodeList,0);
    var maxHeight = arr.map(function(item){
        return item.offsetHeight
    }).sort(function(a, b){
        return a - b;
    }).pop();
    arr.map(function(item){
        if(item.offsetHeight < maxHeight) {
            item.style.height = maxHeight + "px";
        }
    });

css中有哪些實現等高布局常的方法

關于css中有哪些實現等高布局常的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

css
AI

澳门| 江安县| 昌图县| 邵阳市| 城口县| 宿迁市| 岫岩| 英德市| 太原市| 井冈山市| 甘谷县| 浦东新区| 都匀市| 留坝县| 乐亭县| 浮梁县| 灌阳县| 彭山县| 荆门市| 汝城县| 闵行区| 承德市| 贵德县| 内江市| 柘城县| 稷山县| 冕宁县| 安吉县| 南投市| 三门峡市| 南皮县| 小金县| 东台市| 两当县| 太康县| 乌恰县| 宁安市| 江口县| 富川| 鸡东县| 云霄县|