<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • CSS簡單實現(xiàn)圣杯布局和雙飛翼布局

    2020-2-18    seo達人

    一、你能學到什么?

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



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

    :root{

        / 左邊欄寬度 /

        --lw:300px;

        /負左邊欄寬度/

        --lwf:-300px;

        / 右邊欄寬度 /

        --rw:400px;

        /負左邊欄寬度/

        --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 實現(xiàn)對應(yīng)的四個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 實現(xiàn)對應(yīng)的五個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); 

    }



    四、學會兩個布局的注意點

    圣杯布局

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

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

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

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

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

    雙飛翼布局

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

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

    五、兩個布局的對比的優(yōu)缺點

    布局 優(yōu)點 缺點

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

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

    代碼下載地址

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


    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 亚洲综合精品香蕉久久网| 日韩精品亚洲人成在线观看| 亚洲精品A在线观看| 国产成人亚洲精品青草天美| 精品久久久久久久| 亚洲精品无码国产| 国产一区二区精品久久凹凸| 无码精品人妻一区二区三区人妻斩 | 国产精品一级AV在线播放| 久久99精品九九九久久婷婷| 岛国精品一区免费视频在线观看| 亚洲国产精品一区二区九九| 亚洲精品无码av人在线观看| 国产精品亚洲日韩欧美色窝窝色欲| 国产三级国产精品国产普男人| 91麻豆精品国产自产在线观看一区| 国产精品久久永久免费| 久久精品九九亚洲精品天堂| 99视频在线精品国自产拍亚瑟 | 热久久这里只有精品| 国精品无码一区二区三区在线| 国产产无码乱码精品久久鸭 | 久久亚洲国产精品123区| 一本一本久久a久久综合精品蜜桃 一本一道精品欧美中文字幕 | 国产精品白丝AV嫩草影院| 99精品国产丝袜在线拍国语| 亚洲av无码精品网站| 亚洲国产精品人人做人人爽 | 日本欧美韩国日本精品| 999在线视频精品免费播放观看 | 久久99精品久久久久久齐齐| 国产美女精品视频| 国产A∨免费精品视频| 一本久久a久久精品综合夜夜| 久久国产精品久久国产精品| 国产精品素人搭讪在线播放| 国产99精品久久| 精品国产欧美一区二区| 99国产精品久久久久久久成人热| 国产精品v片在线观看不卡| 亚洲国产精品无码中文字|