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-21waterfall瀑布流布局+動(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