亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

深入了解 CSS 七種三欄布局技巧

2024-04-27 15:15:33
字體:
來源:轉載
供稿:網友

三欄布局,顧名思義就是兩邊固定,中間自適應。三欄布局在開發十分常見,那么什么是三欄布局?比如我打開某東的首頁:

 

映入眼簾的就是一個常見的三欄布局:即左邊商品導航和右邊導航固定寬度,中間的主要內容隨瀏覽器寬度自適應。

 

下面圍繞的這樣的目的,即左右模塊固定寬度,中間模塊隨瀏覽器變化自適應,想要完成的最終效果如下圖所示:

 

紅色和藍色寬度固定,綠色寬度自適應,下面七種方法實現的最終效果跟這個差不多,可能會稍有不同。

 

下面七種技巧各有千秋,在開發中可以根據實際需求選擇適合自己的方法進行編碼。

 

1. 流體布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

.left {

    float: left;

    height: 200px;

    width: 100px;

    background-color: red;

}

.right {

    width: 200px;

    height: 200px;

    background-color: blue;

    float: right;

}

.main {

    margin-left: 120px;

    margin-right: 220px;

    height: 200px;

    background-color: green;

}

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

左右模塊各自向左右浮動,并設置中間模塊的 margin 值使中間模塊寬度自適應。

 

缺點就是主要內容無法最先加載,當頁面內容較多時會影響用戶體驗。

 

2. BFC 三欄布局

 

BFC 規則有這樣的描述:BFC區域,不會與浮動元素重疊。因此我們可以利用這一點來實現 3列布局。

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

.left {

    float: left;

    height: 200px;

    width: 100px;

    margin-right: 20px;

    background-color: red;

}

.right {

    width: 200px;

    height: 200px;

    float: right;

    margin-left: 20px;

    background-color: blue;

}

.main {

    height: 200px;

    overflow: hidden;

    background-color: green;

}

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

缺點跟方法一類似,主要內容模塊無法最先加載,當頁面中內容較多時會影響用戶體驗。因此為了解決這個問題,有了下面要介紹的布局方案雙飛翼布局。

 

3. 雙飛翼布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

        .content {

       float: left;

       width: 100%;

        }

        .main {

       height: 200px;

       margin-left: 110px;

       margin-right: 220px;

       background-color: green;

        }

.left {

    float: left;

    height: 200px;

    width: 100px;

    margin-left: -100%;

    background-color: red;

}

.right {

    width: 200px;

    height: 200px;

    float: right;

    margin-left: -200px;

    background-color: blue;

}

    </style>

</head>

<body>

    <div class="content">

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

    </div>

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

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

</body>

</html>

利用的是浮動元素 margin 負值的應用,感興趣的同學可以上網搜搜原理。

 

主體內容可以優先加載,HTML 代碼結構稍微復雜點。

 

4. 圣杯布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

.container {

    margin-left: 120px;

    margin-right: 220px;

}

.main {

    float: left;

    width: 100%;

    height: 300px;

    background-color: red;

}

.left {

    float: left;

    width: 100px;

    height: 300px;

    margin-left: -100%;

    position: relative;

    left: -120px;

    background-color: blue;

}

.right {

    float: left;

    width: 200px;

    height: 300px;

    margin-left: -200px;

    position: relative;

    right: -220px;

    background-color: green;

}

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

跟雙飛翼布局很像,有一些細節上的區別,相對于雙飛翼布局來說,HTML 結構相對簡單,但是樣式定義就稍微復雜,也是優先加載內容主體。

 

5. Flex 布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

.container {

            display: flex;

}

.main {

            flex-grow: 1;

    height: 300px;

    background-color: red;

}

.left {

    order: -1;

    flex: 0 1 200px;

    margin-right: 20px;

    height: 300px;

    background-color: blue;

}

.right {

    flex: 0 1 100px;

            margin-left: 20px;

    height: 300px;

    background-color: green;

}

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

簡單實用,未來的趨勢,需要考慮瀏覽器的兼容性。

 

6. Table 布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

        .container {

    display: table;

    width: 100%;

        }

        .left, .main, .right {

    display: table-cell;

        }

        .left {

    width: 200px;

    height: 300px;

    background-color: red;

        }

        .main {

    background-color: blue;

        }

        .right {

    width: 100px;

    height: 300px;

    background-color: green;

        }

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

缺點:無法設置欄間距

 

7. 絕對定位布局

 

<!DOCTYPE html>

<html lang="en">

<head>

    <style>

.container {

    position: relative;

}

.main {

    height: 400px;

    margin: 0 120px;

    background-color: green;

}

.left {

    position: absolute;

    width: 100px;

    height: 300px;

    left: 0;

    top: 0;

    background-color: red;

}

.right {

    position: absolute;

    width: 100px;

    height: 300px;

    background-color: blue;

            right: 0;

    top: 0;

}

    </style>

</head>

<body>

    <div class="container">

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

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

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

    </div>

</body>

</html>

簡單實用,并且主要內容可以優先加載。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品免费在线免费| 国产精品久久久久久久av电影| 亚洲视频综合网| 久久精品色欧美aⅴ一区二区| 91久久精品一区| 久久久噜噜噜久久| 欧美裸体xxxx极品少妇| 亚洲最大成人免费视频| 欧美精品精品精品精品免费| 亚洲成人精品av| 日韩一区二区三区在线播放| 欧美高清第一页| 欧美激情三级免费| 久青草国产97香蕉在线视频| 久久精品91久久久久久再现| 川上优av一区二区线观看| 亚洲国产免费av| 亚洲欧美国产日韩天堂区| 亚洲最大av网站| 91精品啪在线观看麻豆免费| 亚洲va国产va天堂va久久| 日韩欧美在线一区| 国产亚洲成av人片在线观看桃| 国产激情久久久久| xxav国产精品美女主播| 萌白酱国产一区二区| 九九久久综合网站| 日韩天堂在线视频| 91麻豆国产语对白在线观看| 欧美午夜久久久| 国产精品视频成人| 国产精品都在这里| 久久91亚洲精品中文字幕| 国产精品激情av电影在线观看| 亚洲精品美女在线观看播放| 欧美—级a级欧美特级ar全黄| 国产97在线|日韩| 国产精品美女免费| 日韩亚洲在线观看| 91久久精品日日躁夜夜躁国产| 精品自拍视频在线观看| 国产精品video| 亚洲一区二区在线| 成人国产亚洲精品a区天堂华泰| 亚洲人在线观看| 日本精品视频在线观看| 国产精品日韩一区| 欧美午夜影院在线视频| 97视频国产在线| 国内精品久久久久久影视8| 欧美在线视频观看免费网站| 亚洲人成网站999久久久综合| 国产成人精品一区二区三区| 国产精品永久免费视频| 成人精品视频在线| 中文字幕欧美视频在线| 中文字幕亚洲天堂| 日韩国产精品一区| 久久久久99精品久久久久| 亚洲欧美精品在线| 欧美精品aaa| 亚洲视频网站在线观看| 国模精品视频一区二区| 亚洲男人的天堂在线| 国产99久久久欧美黑人| 性色av一区二区三区| 国产午夜一区二区| 亚洲男人7777| 日韩成人在线视频网站| 国产精品久久久久久av福利软件| 国产精品热视频| 日韩av男人的天堂| 亚洲一区二区三区四区视频| 美女扒开尿口让男人操亚洲视频网站| 欧美激情视频三区| 97久久精品人搡人人玩| 国内精品久久久久影院优| 欧美成人一二三| 久久久久北条麻妃免费看| 亚洲欧美国产一本综合首页| 亚洲精选中文字幕| 国产精品永久免费视频| 国产精品91久久久久久| 亚洲自拍高清视频网站| 亚洲人成啪啪网站| 91av在线精品| 国产丝袜高跟一区| 国产精品成人观看视频国产奇米| 国产精品99久久久久久白浆小说| 亚洲第一精品久久忘忧草社区| 国产欧美一区二区三区在线看| 国产在线精品成人一区二区三区| 欧美成人午夜免费视在线看片| 日本欧美中文字幕| 91香蕉嫩草神马影院在线观看| 欧美日韩亚洲视频一区| 国产成人精品999| 国产精品旅馆在线| 97精品伊人久久久大香线蕉| 欧美性猛交xxxx黑人猛交| 欧美在线视频导航| 亚洲黄一区二区| 国产精彩精品视频| 亚洲欧美三级在线| 精品国产欧美成人夜夜嗨| 91精品国产综合久久久久久蜜臀| 美女国内精品自产拍在线播放| 国产精品永久免费观看| 成人黄色免费看| 色阁综合伊人av| 亚洲精品少妇网址| 亚洲精品综合久久中文字幕| 亚洲国产日韩欧美综合久久| 亚洲黄色av女优在线观看| 91九色视频导航| 亚洲人免费视频| 久久亚洲精品国产亚洲老地址| 91精品美女在线| 九九热这里只有在线精品视| 亚洲综合日韩在线| 久久久免费精品| 欧美理论片在线观看| 欧美性猛交xxxx免费看漫画| 伦理中文字幕亚洲| 色综合久久悠悠| 国产精品www色诱视频| 啪一啪鲁一鲁2019在线视频| 最近2019中文字幕一页二页| 久久免费视频这里只有精品| 日韩成人av在线播放| 日韩**中文字幕毛片| 欧美激情视频在线免费观看 欧美视频免费一| 色青青草原桃花久久综合| 91在线视频免费| 成人午夜一级二级三级| 亚洲欧美国产日韩天堂区| 91精品在线观看视频| 亚洲欧美在线磁力| 亚洲xxxx做受欧美| 日韩www在线| 欧美午夜精品伦理| 国产欧美一区二区三区久久人妖| 亚洲精品中文字幕女同| 亚洲欧美激情另类校园| 亚洲第一免费播放区| 狠狠久久亚洲欧美专区| 成人黄色大片在线免费观看| 欧美性猛xxx| 国产亚洲视频在线观看| 国产经典一区二区| 久久久久久久久久久网站| 91高潮精品免费porn| 欧美日本亚洲视频| 欧美日韩另类视频| 欧美日本国产在线| 欧美综合国产精品久久丁香| 91精品国产777在线观看| 一区二区av在线| 国产精品久久久久av免费| 国产精品第七影院| 国产视频精品va久久久久久| 久久久久久久爱| 国产成人在线一区| 激情懂色av一区av二区av|