多種方法實現自適應三欄布局

2021-10-03 05:08:20 字數 1808 閱讀 6730

網頁開發中,經常會遇到左右寬度固定,中間寬度自適應的三欄布局,這裡將介紹三種常用的方法(對頁面渲染順序無要求,如要求優先渲染中間部分,移步聖杯布局和雙飛翼布局)

html結構:

="box"

>

="left"

>

<

/div>

="center"

>

<

/div>

="right"

>

<

/div>

<

/div>首先提起左右依次排列,我們可以首先想到浮動,於是統統左浮動。為了方便觀察,我們加上背景顏色

可以看到,中間部分並沒有自適應,我們可以用乙個css3新增的屬性cale。相當於乙個計算器,將左右兩側寬度減掉便是中間的寬度。

.center

這裡要注意減號前後要有空格。

缺點:calc為c3新增加的,相容不是很好。

上面方法講了用浮動,這次我們試試左右浮動,中間不浮動試試,方法二的html結構同方法一。

.left

.center

.right

這樣會導致乙個問題,左邊浮動脫離文件流勢必會導致中間部分上去,右邊浮動被迫換行。

我們可以用定位講右邊浮動移動到瀏覽器右上角,然後利用bfc的乙個特性解決中間部分和左邊部分重疊的問題。即bfc區域不會與浮動盒子發生重疊。用overflow:hidden;即可,bfc的其他觸發方式這裡就暫不贅述了。

然後現在只需要給中間區域新增宣告margin-right:300px;就可以實現了(此時右邊部分絕對定位脫離文件流,並不會被margin-right影響。)

缺點:比較麻煩,但是相容性比方法一強。

剛才的兩種方法html結構都是左中右依次排列,第三種方法換一下排列順序。

html結構:

="box"

>

="left"

>我是左邊的部分<

/div>

="right"

>我是右邊的部分<

/div>

="center"

>我是中間的部分<

/div>

<

/div>結構變成了左右中。如果我們給左邊元素左浮動,右邊元素右浮動,那麼中間自然而然的就會上去,那麼現在只要將中間區域變成bfc,頁面就會變成我們想要的三欄布局。

優點:方法簡單,容易實現;

缺點:需要改變頁面布局,變為左右中布局。

多種方法實現自適應布局

最近切了幾個手機端的網頁,第一次切的是美團的首頁,為了自適應不同的手機解析度,需要用到自適應布局,切圖的時候是用的第一中方法,用到了定位,後來查詢了一些其他方法,現在就介紹幾種自適應布局的實現方法 美團網頁頭就用到了自適應 html部分 1 div class main 2 div class di...

三欄布局 自適應

趴趴熊,我們走 個人簡介,是當事人全面而簡潔地介紹自身情況的一種書面表達方式。求職過程中撰寫的個人簡介是求職者向欲供職單位全面 簡潔 條理清晰地自我介紹 自我推薦的文書。簡介是應用寫作學研究的一種日常應用文體。p 個人簡介,是當事人全面而簡潔地介紹自身情況的一種書面表達方式。求職過程中撰寫的個人簡介...

三欄自適應布局

實現左中右三欄布局,左右為固定寬度,中間寬度隨父元素寬度變化 父元素設定display flex 左右盒子寬度固定,中間盒子設定flex 1 container left center right style class container class left div class center d...