日本一区二区三区在线播放-国产视频一-美女黄网站成人免费视频-奇米中文字幕-日本少妇xxxxx-九九精品99-国产人碰人摸人爱视频-欧美亚洲网站-国产艳妇av在线-在线av网站-久久a久久-可以免费看黄色的网站-国产视频一二-在线播放视频高清在线观看-男人的天堂av网站-久久一二三区-欧美日韩综合一区二区

CSS簡(jiǎn)單實(shí)現(xiàn)圣杯布局和雙飛翼布局

2020-2-18    seo達(dá)人

一、你能學(xué)到什么?

①如何使用css變量 ②實(shí)現(xiàn)圣杯布局和雙飛翼的簡(jiǎn)單思路 ③了解浮動(dòng)和margin的特性



css變量設(shè)置(兩個(gè)布局都有的部分)

:root{

    / 左邊欄寬度 /

    --lw:300px;

    /負(fù)左邊欄寬度/

    --lwf:-300px;

    / 右邊欄寬度 /

    --rw:400px;

    /負(fù)左邊欄寬度/

    --rwf:-400px;

    / 高度 /

    --height:300px;

}



二、圣杯布局的html和css代碼

html部分

  <div class="holyGrail">

    <div class="hg_main">main</div>

    <div class="hg_left">left</div>

    <div class="hg_right">right</div>

  </div>



css 實(shí)現(xiàn)對(duì)應(yīng)的四個(gè)class

.holyGrail {

    height: var(--height);

    / 留出左右兩欄的布局 為了字體不被覆蓋/

    padding-left: var(--lw);

    padding-right: var(--rw);

}

.hg_main{

    width:100%;

    float: left;

    height: var(--height);

    background-color: blanchedalmond;

}

.hg_left{

    position: relative;

    left: var(--lwf);

    float: left;

    margin-left: -100%;

    width:var(--lw);

    height: var(--height);

    background-color: blueviolet;

}

.hg_right{

    float: left;

    margin-right: var(--rwf);

    width:var(--rw);

    height: var(--height);

    background-color: brown;

}





三、雙飛翼布局的html和css代碼

html部分

<div class="doubleWing">

    <div class="dw_main">

      <div class="dw_con">main</div>

    </div>

    <div class="dw_left">left</div>

    <div class="dw_right">right</div>

  </div>



css 實(shí)現(xiàn)對(duì)應(yīng)的五個(gè)class

.doubleWing{

    padding-right: var(--rw);

}

.dw_left{

    float: left;

    margin-left: -100%;

    width:var(--lw);

    height: var(--height);

    background-color: blueviolet;

}

.dw_main{

    width:100%;

    float: left;

    height: var(--height);

    background-color: blanchedalmond;

}

.dw_con {

margin-left: var(--lw);

}

.dw_right{

    float: left;

    margin-right: var(--rwf);

    width:var(--rw);

    background-color: brown;

    height: var(--height); 

}



四、學(xué)會(huì)兩個(gè)布局的注意點(diǎn)

圣杯布局

在最外邊的類(lèi)(holyGrail)左右要留出左欄和右欄的寬度(使用padding-left,padding-right)

中間的div.hg_main放在最上面,優(yōu)先渲染,中間div自適應(yīng),width為100%

左中右欄的div都設(shè)置浮動(dòng),左欄通過(guò)margin-left:-100%移動(dòng)到和中間的div同一起點(diǎn),然后通過(guò)position: relative;

left: -(左欄的寬度);會(huì)移動(dòng)到最外層div的左內(nèi)邊距的區(qū)域(中間div的左邊)

右欄可以通過(guò)margin-right:-(右欄的寬度);移動(dòng)到最外層div的右內(nèi)邊距的區(qū)域(中間div的右邊)

雙飛翼布局

在中欄的div再加一個(gè)div,設(shè)置margin-left:左欄的寬度,這樣可以省略左欄的div使用postion和left的屬性移動(dòng)

最外層的div可以不用預(yù)留左欄的位置了

五、兩個(gè)布局的對(duì)比的優(yōu)缺點(diǎn)

布局 優(yōu)點(diǎn) 缺點(diǎn)

圣杯 無(wú)多余dom 當(dāng)中間的寬度小于左右的寬度時(shí),結(jié)構(gòu)混亂

雙飛翼 可以支持各種寬度,通用性強(qiáng)較強(qiáng) 需要多加一層dom

代碼下載地址

記得一定要自己去實(shí)現(xiàn)一下


日歷

鏈接

個(gè)人資料

存檔

湘乡市| 渭南市| 莱阳市| 洪洞县| 涞源县| 朝阳区| 潮州市| 沾化县| 二手房| 仲巴县| 华宁县| 建平县| 东明县| 澄迈县| 依安县| 丽江市| 徐水县| 麻城市| 永寿县| 东光县| 外汇| 交城县| 瑞安市| 江西省| 临澧县| 磐石市| 昌江| 札达县| 新乡县| 泰兴市| 古蔺县| 昌邑市| 桂林市| 栾川县| 富裕县| 汉中市| 福贡县| 达拉特旗| 上饶县| 武鸣县| 乃东县|