最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript圣杯布局與雙飛翼布局實現(xiàn)案例詳解

 更新時間:2022年08月04日 16:45:42   作者:飯啊飯°  
這篇文章主要介紹了JavaScript圣杯布局與雙飛翼布局實現(xiàn)案例,這是前端面試中需要掌握的知識點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、圣杯布局和雙飛翼布局的功能介紹

  • 圣杯布局和雙飛翼布局是三欄布局中的兩種布局方式,他們實現(xiàn)的效果是相同的,區(qū)別就是實現(xiàn)方法。
  • header和footer各自占領屏幕所有寬度,高度固定;
  • 中間的outer是一個三欄布局;
  • 三欄布局中l(wèi)eft和right不變,center填充其他地方;
  • 中間部分的高度是三欄中最高的區(qū)域的高度。

二、圣杯布局

高度如何自適應屏幕高度

  • 其實這個并不是圣杯布局中的要求,圣杯布局是可以指定高度的,但是可以作為一個思考;
  • 方法就是使用flex布局,將主軸設置為縱軸,再將outer的flex設為1,意思就是填充多余空白,即可達到自適應屏幕高度的效果。
body{
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
}
.header{
    background-color:grey;
    height: 50px;
}
.footer{
    background-color:grey;
    height: 50px;
}
.outer{
    flex:1;
}

圣杯布局思路

  • 將center盒子寫在最前面,保證center盒子最先渲染;
  • 給outer盒子指定padding-left 和 padding-right值,留出left和right的位置;
  • 三個盒子都設置float:left,這時left和right就會被擠到下一行;
  • left設置margin-left:-100%;相對定位+left:-left的寬度;right設置margin-left=-right的寬度;相對定位+right:-right的寬度即可將兩個盒子歸位。

圣杯布局代碼

<style>
  * {
      padding: 0;
      margin: 0;
      text-align: center;
  }
  html{
      height: 100%;
  }
  body{
      display: flex;
      flex-direction: column;
      height: 100%;;
  }
  .header{
      width: 100%;
      height: 50px;
      background-color:dimgray;
  }
  .footer{
      width: 100%;
      height: 50px;
      background-color:dimgray;
  }
  .outer{
      flex:1;
      padding-left: 100px;
      padding-right: 200px;
  }
  .center{
      float: left;
      background-color: darkslateblue;
      height: 100%;
      width: 100%;
  }
  .left{
      float: left;
      width: 100px;
      margin-left: -100%;
      background-color: burlywood;
      height: 100%;
      position: relative;
      left: -100px;
  }
  .right{
      float: left;
      width: 200px;
      margin-left: -200px;
      height: 100%;
      position: relative;
      right: -200px;
      background-color: cyan;
  }
</style>
<body>
    <div class="header">header</div>
    <div class="outer">
        <div class="center">center</div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>

三、雙飛翼布局

雙飛翼布局的思路

  • 給三個盒子都設置為左浮動;
  • center的寬度設為100%;
  • left設置margin-left:-100%;right設置margin-left=-right的寬度即可將兩個盒子歸位,但是將center的兩端擋住了;
  • 在center盒子中再寫一個content盒子,設置margin-left和margin-right為兩側的寬度,content盒子作為內容。

雙飛翼布局的代碼

<style>
    *{
        padding: 0;
        margin: 0;
    }
    html{
        width: 100%;
        height: 100%;
        text-align: center;
    }
    body{
        display: flex;
        width: 100%;
        height: 100%;
        flex-direction: column;
    }
    .header{
        background-color:grey;
        height: 50px;
    }
    .footer{
        background-color:grey;
        height: 50px;
    }
    .outer{
        flex:1;
    }
    .center{
        float: left;
        width: 100%;
        background-color: darkslateblue;
        height: 100%;
    }
    .left{
        float: left;
        margin-left: -100%;
        width: 100px;
        background-color: burlywood;
        height: 100%;
    }
    .right{
        float: left;
        width: 200px;
        background-color: cyan;
        margin-left: -200px;
        height: 100%;
    }
    .content{
        margin-left: 100px;
        margin-right: 200px;
        height: 100%;
    }
</style>
<body>
    <div class="header">header</div>
    <div class="outer">
        <div class="center">
            <div class="content">content</div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>

圣杯布局和雙飛翼布局的區(qū)別

  • 圣杯布局是利用padding將中間部分留出,再利用定位、margin的方式將左右盒子歸位,因此不需要外層div;
  • 雙飛翼布局是先設置中間盒子的寬度為100%,再用margin移動左右盒子覆蓋了中間盒子的兩側,再將outer中間加入一個盒子,留出兩側的margin值,達到三欄布局的效果。

四、圣杯布局和雙飛翼布局面試問題

回答:圣杯布局和雙飛翼布局都可以實現(xiàn)三欄布局,即兩側寬度固定,中間自適應的效果。圣杯布局是先用padding將中間內容留出,再定位左右盒子到相應位置;而雙飛翼布局首先將中間盒子的寬度設為了100%,在定位左右盒子的時候會覆蓋中間盒子的兩端,這樣就需要在中間盒子中在定義一個盒子,并留出margin的兩側值。兩種布局都需要把center盒子寫在left和right前面,為了最先渲染。

到此這篇關于JavaScript圣杯布局與雙飛翼布局實現(xiàn)案例詳解的文章就介紹到這了,更多相關JS圣杯布局與雙飛翼布局內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JS前端組件注冊與畫布渲染實例

    JS前端組件注冊與畫布渲染實例

    這篇文章主要為大家介紹了JS前端組件注冊與畫布渲染實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Electron實現(xiàn)應用打包、自動升級過程解析

    Electron實現(xiàn)應用打包、自動升級過程解析

    這篇文章主要介紹了Electron實現(xiàn)應用打包、自動升級過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 詳解BootStrap中Affix控件的使用及保持布局的美觀的方法

    詳解BootStrap中Affix控件的使用及保持布局的美觀的方法

    Affix是BootStrap中的一個很有用的控件,他能夠監(jiān)視瀏覽器的滾動條的位置并讓你的導航始終都在頁面的可視區(qū)域。本文重點給大家介紹BootStrap中Affix控件的使用及保持布局的美觀的方法,感興趣的朋友一起看看吧
    2016-07-07
  • JavaScript canvas實現(xiàn)文字時鐘

    JavaScript canvas實現(xiàn)文字時鐘

    這篇文章主要為大家詳細介紹了JavaScript canvas實現(xiàn)文字時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 純編碼實現(xiàn)微信小程序彈幕效果(非視頻底)

    純編碼實現(xiàn)微信小程序彈幕效果(非視頻底)

    這篇文章主要介紹了微信小程序彈幕純編碼實現(xiàn),這種效果是非視頻底,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 常用的JavaScript WEB操作方法分享

    常用的JavaScript WEB操作方法分享

    這篇文章主要介紹了常用的JavaScript WEB操作方法分享,包含數(shù)組方法集、cookie方法集、url方法集、正則表達式方法集、字符串方法集、加密方法集、日期方法集等常用操作方法,需要的朋友可以參考下
    2015-02-02
  • zTree獲取當前節(jié)點的下一級子節(jié)點數(shù)實例

    zTree獲取當前節(jié)點的下一級子節(jié)點數(shù)實例

    下面小編就為大家?guī)硪黄獄Tree獲取當前節(jié)點的下一級子節(jié)點數(shù)實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 基于BootStrap與jQuery.validate實現(xiàn)表單提交校驗功能

    基于BootStrap與jQuery.validate實現(xiàn)表單提交校驗功能

    學習前臺后臺最開始接觸的業(yè)務都是用戶注冊和登錄,下面通過本文給大家介紹BootStrap與jQuery.validate實現(xiàn)表單提交校驗功能,感興趣的朋友一起學習吧
    2016-12-12
  • js?實現(xiàn)picker?選擇器示例詳解

    js?實現(xiàn)picker?選擇器示例詳解

    這篇文章主要為大家介紹了js?實現(xiàn)picker?選擇器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • js實現(xiàn)在同一窗口瀏覽圖片

    js實現(xiàn)在同一窗口瀏覽圖片

    在同一窗口瀏覽圖片的方法有很多,本例要為大家介紹的是使用js獲取img的src屬性后進行替換
    2014-09-09

最新評論

福安市| 枣阳市| 沐川县| 蓬莱市| 赤壁市| 武义县| 邳州市| 紫阳县| 察隅县| 昭平县| 宁海县| 寻甸| 凌云县| 咸丰县| 浙江省| 德钦县| 南召县| 高雄市| 锡林浩特市| 锦州市| 吉首市| 元江| 德惠市| 亳州市| 五原县| 柘荣县| 晋城| 司法| 察雅县| 密云县| 梓潼县| 云阳县| 宁津县| 松原市| 麟游县| 隆回县| 景宁| 尼玛县| 肥西县| 廊坊市| 南漳县|