css實(shí)現(xiàn)兩欄固定中間自適應(yīng)的方法
1、利用絕對(duì)定位和margin
此方法的原理說將左右兩側(cè)進(jìn)行定位,讓其脫離文檔流。 中心區(qū)域自然流動(dòng)到它們下面,再為其設(shè)置margin值
此方法頁面元素結(jié)構(gòu)可以順序可以隨意變動(dòng),注意top值需要進(jìn)行處理,不然可能會(huì)出現(xiàn)對(duì)不齊現(xiàn)象
HTML
<div id='container'>
<div class='left'>左側(cè)</div>
<div class='center'>中間</div>
<div class='right'>右側(cè)</div>
</div>
CSS
#container {
position: relative;
}
.left, .right{
position: absolute;
top: 0;
width: 200px;
min-height: 500px;
background-color: red;
}
.left {
left: 0;
}
.right {
right: 0;
}
.center {
margin: 0px 210px;
min-height: 500px;
background-color: yellow;
}
2、利用浮動(dòng)和margin
此方法的原理說將左右兩側(cè)進(jìn)行float 浮動(dòng)讓其脫離文檔流,中心部分處于正常文檔流,再為其設(shè)置margin值
此方法一定要將center中間部分放到最后,當(dāng)窗口特別小時(shí)右側(cè)會(huì)被擠下來
HTML
<div id='container'>
<div class='left'>左側(cè)</div>
<div class='right'>右側(cè)</div>
<div class='center'>中間</div>
</div>
CSS
#container {
position: relative;
}
.left, .right {
width: 200px;
min-height: 500px;
background-color: red;
}
.left {
float: left;
}
.right {
float: right;
}
.center {
min-height: 500px;
margin: 0px 210px;
background-color: yellow;
}
3、圣杯布局
此方法最常見,三者相互關(guān)聯(lián),最穩(wěn)健。
首先需要將中間部分放再最前面,外面用一層容器包裹。外層容器讓其占滿整個(gè)屏幕100%, 左中右三者都float: left。 將center左右margin設(shè)置為兩邊容器的寬度加上邊距,將left左側(cè)margin-left設(shè)置為-100%,讓其出現(xiàn)在最左側(cè),將right右側(cè)margin-right設(shè)置為-200px,讓其出現(xiàn)在最右側(cè)。
HTML
<div id='container'>
<div class='center_wrap'>
<div class='center'>中間</div>
</div>
<div class='left'>左側(cè)</div>
<div class='right'>右側(cè)</div>
</div>
CSS
#container {
position: relative;
}
.center_wrap, .left, .right{
float: left;
min-height: 500px;
}
.center_wrap {
width: 100%;
}
.center_wrap .center{
min-height: 500px;
margin: 0px 210px;
background-color: yellow;
}
.left, .right {
width: 200px;
background-color: red;
}
.left {
margin-left: -100%;
}
.right {
margin-left: -200px;
}
4、CSS3 flex
HTML
<div id='container'>
<div class='left'>左側(cè)</div>
<div class='center'>中間</div>
<div class='right'>右側(cè)</div>
</div>
CSS
#container {
width: 100%;
display: flex;
}
.left, .right {
width: 200px;
background-color: red;
min-height: 500px;
}
.center {
flex: 1;
min-height: 500px;
margin: 0 10px;
background-color: yellow;
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
本文主要介紹了css九宮格布局的五種方法,內(nèi)容包括grid布局、flex布局、table布局、float浮動(dòng)定位、inline-block+letter-spacing屬性這五種方法的實(shí)現(xiàn),感興趣的可以了解下2023-09-18- 在Web開發(fā)中,經(jīng)常會(huì)遇到需要將元素水平和垂直居中的情況,今天,將為大家分享幾種CSS方法,讓你的元素輕松居中,讓頁面更美觀吸引人,感興趣的小伙伴可以自己動(dòng)手試一試2023-09-08
- 相信大家在面試的時(shí)候也會(huì)經(jīng)常碰到css實(shí)現(xiàn)元素居中的方法,下面我介紹6種方法給大家,歡迎大家評(píng)論區(qū)交流2023-09-07

flex布局中使用flex-wrap實(shí)現(xiàn)換行的項(xiàng)目實(shí)踐
最近需要做個(gè)換行的布局,本文主要介紹了flex布局中使用flex-wrap實(shí)現(xiàn)換行的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需2022-06-16CSS布局之浮動(dòng)(float)和定位(position)屬性的區(qū)別
今天看到有朋友留言問浮動(dòng)和定位有什么區(qū)別,如何使用?今天找了篇文章,講的比較通俗易懂,供大家參考2021-09-23
這篇文章主要介紹了css實(shí)現(xiàn)元素居中的N種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
div水平布局兩邊對(duì)齊的三種實(shí)現(xiàn)方法
這篇文章主要介紹了div水平布局兩邊對(duì)齊的三種實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2021-01-21
waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn)
這篇文章主要介紹了waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2021-01-19
頁面中有間隔的方格布局如何完美實(shí)現(xiàn)方法
這篇文章主要介紹了頁面中有間隔的方格布局如何完美實(shí)現(xiàn)方法。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來2020-11-27css實(shí)現(xiàn)六種自適應(yīng)兩欄布局方式
這篇文章主要介紹了css實(shí)現(xiàn)六種自適應(yīng)兩欄布局方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-10-28

