CSS-布局4-雙飛翼布局

1、雙飛翼布局概述

雙飛翼布局同樣來源淘寶,可以說是借鑒了圣杯布局,同時也解決了圣杯布局使用相對定位的缺陷。

2、雙飛翼布局實現思路

(1)與圣杯布局一樣,利用負邊距技術實現初步效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>雙飛翼布局</title>
    <style type="text/css">
        *{
            margin:0px;
            padding:0px;
        }
        .header{
            background : yellow;
        }
        .left{
            width:198px;
            height:200px;
            float:left;
            border: 1px solid red;
            margin-left :-100%;
        }
        .right{
            width:198px;
            height:200px;
            border: 1px solid blue;
            float: left;
            margin-left :-200px;
        }
        .center{
            width : 100%;
            height:200px;
            float: left;
            background :gray;
        }
        .footer{
            background : blue;
        }
    </style>
</head>
<body>
    <div class="header">heder</div>
    <div class="container">
        <div class="center">center</div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>
</html>

運行效果:

image.png

(2)在cetner元素中間添加一個元素,設置margin-left和margin-right
center部分html源代碼修改:

<div class="center">
    <div class="center-inner">
    center
    </div>
</div>

center-inner 樣式添加

.center-inner{
    margin-left:200px;
    margin-right:200px;
    background:red;
}

運行效果:


image.png

3、等高雙飛翼布局實現

(1)使用包裹元素contianer的overflow:hidden 觸發BFC。
(2)使用 padding-bottom: 9999px; margin-bottom: -9999px;將元素展開,然后再把元素收回。
源代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>雙飛翼布局</title>
    <style type="text/css">
        *{
            margin:0px;
            padding:0px;
        }
        .header{
            background : yellow;
        }
        .container{
            overflow: hidden;
        }
        .left{
            width:198px;
            float:left;
            border: 1px solid red;
            margin-left :-100%;
            padding-bottom: 9999px;
            margin-bottom: -9999px;
        }
        .right{
            width:198px;
            border: 1px solid blue;
            float: left;
            margin-left :-200px;
            padding-bottom: 9999px;
            margin-bottom: -9999px;
        }
        .center{
            width : 100%;
            float: left;
            background :gray;
            padding-bottom: 9999px;
            margin-bottom: -9999px;
        }
        .center-inner{
            margin-left:200px;
            margin-right:200px;
            background:red;
        }
        .footer{
            background : blue;
        }
    </style>
</head>
<body>
    <div class="header">heder</div>
    <div class="container">
        <div class="center">
            <div class="center-inner">
            center<br/>
            center<br/>
            center<br/>
            </div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>
</html>

運行效果:

image.png

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 雙飛翼布局和BFC 之前看到了一些面試題中,面試官會問到如果實現雙飛翼布局或者是圣杯布局,這兩個布局的理念基本是類...
    LucasDog閱讀 1,070評論 0 4
  • 三欄式布局 涉及浮動和清除浮動,主要講解“圣杯”和“雙飛翼”兩種解決方法。這兩種方法實現的都是三欄布局,兩邊的盒子...
    紫電倚青霜閱讀 2,381評論 0 6
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關注微信itclanCoder公眾號可收聽更多音頻 前言 關于網...
    itclanCoder閱讀 8,204評論 3 30
  • display: none; 與 visibility: hidden; 的區別 聯系:它們都能讓元素不可見 區別...
    紋小艾閱讀 1,647評論 0 1