題目:
假設高度已知,請寫出三欄布局,其中左欄、右欄寬度各為300px,中間自適應的設定方案有幾種?
這裡考察的是你對css的理解首先初始化樣式
body
html編寫
由於三欄布局html**幾乎差不多,下面就不過多重複編寫了。
這是三欄布局左右固定中間自適應
注:浮動解決方案需要將.center
的類標籤與.right
類互換即可。
下面我們將通過修改css
樣式來解決布局方案,樣式的container1
可根據下面方案自行修改即可。
.container1 div
.container1 .left,
.container1 .right
.container1 .left
.container1 .right
.container1 .center
優點:相容性比較好;把清除浮動和周邊元素的關係處理好的話。
**缺點: **清除浮動,浮動以後脫離文件流,處理不好會帶來很多問題,本身的侷限性。
.container2
.container2 div
.container2 .left,
.container2 .right
.container2 .center
.container2 .left
.container2 .right
優點:快捷,配合js使用不容易出問題。
缺點:布局已經脫離文件流了,就意味下面所有子元素也必須脫離文件流,導致了這個方案的可使用性比較差。
.container3
.container3 div
.container3 .left,
.container3 .right
.container3 .center
優點:解決了上面兩個方案的不足
缺點:ie8及以下不支援 flex
.container4
.container4 div
.container4 .left,
.container4 .right
.container4 .center
優點:輕易的做到,**相容性非常好,flex解決不了的(ie8不支援flex),想實現同樣效果可以用**。
缺點:歷史的詬病以外,其中某乙個單元格的高度超出了的時候,兩側的單元格也是要調整高度的;有時候的場景是不需要同時增高的。
.container5
.container5 div
.container5 .left,
.container5 .right
.container5 .center
優點:可以做很多複雜的布局,**量也簡化很多,是未來的趨勢;
缺點:相容性問題,各種瀏覽器及舊版本支援不是很好。
在業務中的方案根據上面的優缺點來應對需求使用相應的布局方案。筆者考慮到相容性及其他因素在這裡推薦flex和table倆種方案。
看了上面那麼多方案,是否自己也可以手動實現一下三欄上下高度固定,中間自適應
上
下
css樣式
.three_columns
.three_columns .top,
.three_columns .bottom
.three_columns .middle
實現倆欄布局,右邊固定,左邊自適應
這是倆欄布局,右邊固定,左邊自適應
css樣式
.two-column
.two-column div
.two-column .right
.two-column .left
總結:語義化標籤對seo更友好。**書寫的規範方便後期的維護。
如果你覺得該文章能幫助到你,這裡歡迎star小星星。
頁面布局方法之三欄布局
題目 完成左中右三欄布局,高度100px,左右寬度200px,中間寬度自適應。今天學習了關於三欄布局的五種方法,其中最常用的就是flex伸縮布局,其他的布局方法雖然也可以實現同樣的效果,但是或多或少有些缺點,但是本著多學點總是沒錯的精神,還是都了解一下。float浮動布局的優點是相容性比較好,但是其...
頁面布局(三欄布局)
假設高度已知,請寫出三欄布局,其中左欄 右欄寬度各為300px,中間自適應。1.浮動布局 2.絕對定位 3.flexbox解決 4.table cell 布局 5.grid網格布局。doctype html en utf 8 viewport content width device width,i...
CSS之三欄布局
方法一 浮動布局 width 100 height 100px float left width 300px background red height 100px float right background blue width 300px height 100px background yel...