日本一卡精品视频免费丨国产午夜片无码区在线播放丨国产精品成人久久久久久久丨国产亚洲日韩av在线播放不卡丨亚洲日韩av无码

三列自適應布局

2016/11/11 8:50:09   閱讀:1859    發布者:1859

分析了兩列自適應布局的實現思路后,會覺得三列自適應布局的實現原理其實和他一模一樣,
不過是多了一個盒子而已。

第一類,浮動在前:

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

方法一:float+margin

.main { 
    margin-left: 150px; 
    margin-right: 100px; 
} 
.left { 
    float: left; 
    width: 150px; 
} 
.right { 
    float: right; 
    width: 100px; 
}

方法二:float+BFC

.main { 
    overflow: hidden; 
} 
.left { 
    float: left; 
    width: 150px; 
} 
.right { 
    float: right; 
    width: 100px; 
}

 

第二類,主要內容在前:

方法三:float+負邊距+relative

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

這里和兩列布局有些不同,在兩列布局中,.main只需要右移給.left空出位置就可以了,
所以給他一個margin-left就能解決。而在三列布局中,他不僅需要給.left騰出空間,還要給.
right騰出空間,此時margin已經無能為力了,所以需要他們三個外面的盒子來做這件事情:

body { 
    padding-left: 150px; 
    padding-right: 100px; 
}

這樣子就會產生一個問題,給body添加了padding之后,.main的寬度就減小了,這就意味著
.left的margin-left值也會減小,于是,當.main的寬度減小到小于.left的寬度時,
.left的負邊距已經不能為他創造足夠的空間到上面一行了,他就會被擠下去。所以,
為了避免這個問題,需要給包裹盒子設置一個最小寬度,當屏幕寬度小于這個值時,他將不再收縮。

.main { 
    float: left; 
    width: 100%; 
} 
.left { 
    float: left; 
    position: relative; 
    left: -150px; 
    margin-left: -100%; 
    width: 150px; 
} 
.right { 
    float: left; 
    position: relative; 
    right: -100px; 
    margin-left: -100px; 
    width: 100px; 
} 
body { min-width: 150px; 
    padding-left: 150px; 
    padding-right: 100px; 
}

 

方法四:float+負邊距+新盒子

<div class="main"> 
    <div class="main-content"></div> 
</div> 
<div class="left"></div> 
<div class="right"></div>

這時的問題是,當屏幕寬度小于.left和.right寬度之和時,.main-content即中間那列
已經完全被擠沒了,所以,同樣需要給他們外面的盒子設置一個最小寬度:

.main { 
    float: left; 
    width: 100%; 
} 
.left { 
    margin-left: -100%; 
    float: left; 
    width: 150px; 
} 
.right { 
    margin-left: -100px; 
    float: left; 
    width: 100px; 
} 
.main-content { 
    margin-left: 150px; 
    margin-right: 100px; 
} 
body { 
    min-width:500px; 
}

 

方法五:flexbox

<div class="container"> 
    <div class="main"></div> 
    <div class="left"></div> 
    <div class="right"></div> 
</div>
.container { 
    min-width: 500px; 
    display: flex; 
} 
.main { 
    margin: 0 10px; 
    order: 1; 
    flex: 1; 
} 
.left { 
    width: 150px; 
} 
.right { 
    order:2; 
    width: 100px; 
}

 

主站蜘蛛池模板: 国产精品美女www爽爽爽| 国产自产21区| 国产91亚洲| 少妇被粗大的猛烈进出视频| 性一交一乱一乱一视频96| 妺妺窝人体色www聚色窝| 亚洲精品大全| 日韩一欧美内射在线观看| 国产偷窥熟妇高潮呻吟| 国产麻豆精品传媒| 男女啪啪免费观看网站| 欧美激情在线看| 免费人成视频网站在线观看18| 青青草自拍| 日韩人妻无码精品久久| 精品国产一二三产品价格| 真人做人试看60分钟免费| 亚欧日韩在线| 欧美日韩一区二区成人午夜电影| 亚洲人人夜夜澡人人爽| 三个男吃我奶头一边一个视频| 成年午夜性影院| 9re热国产这里只有精品| 精品一区二区三区在线成人| 欧美极品jiizzhd欧美暴力| 久久精品黄aa片一区二区三区| 亚洲一区二区三区麻豆| av色综合久久天堂av色综合在| 免费精品国偷自产在线在线| 亚洲爱婷婷色婷婷五月| 亚洲精品777| 搡老岳熟女国产熟妇| 久久不见久久见免费影院www日本| 亚洲欧洲一区二区| 天天摸天天做天天爽| av国产一区| 久久这里只有精品视频9| 手机av免费看|