實現三欄布局的方法

2021-10-23 22:12:19 字數 2267 閱讀 6587

常見的布局方式: float布局、position定位、table布局、彈性(flex)布局、網格(grid)布局

1、float布局

loat最初的設計的初衷是為了解決文字環繞的問題 ,即給乙個設定float屬性之後會使文字環繞在周圍顯示。float之所以可以實現文字環繞是源於設定float屬性的元素可以脫離文件流,使父元素高度塌陷。

**演示

"main">

"left">左

"right">右

"center">中

這裡我們給左右兩欄設定float屬性使其脫離文件流左邊欄設定 float:left, 右邊欄設定float: right ,由於寬度高度已知所以我們可以給其設定指定的寬高 width:300px, height:100px

.left

.right

中間的樣式

.center

position布局:

html模版:

"main">

"left">左

"center">中

"right">右

給 左 中 右 都使用 absolute 絕對定位,由於absolute 是相當於static定位以外的第乙個父元素進行定位,所以我們要給其父元素新增 position:relative屬性, 這樣這三個子元素可以相對于父元素進行絕對定位。、

css樣式:

.left

.center

.right

table布局:

html模版:這裡的html模版和 position使用的html一樣

table是一種常見的布局方式,他可以將整個頁面按照**的方式設定為多行多列,但是由於書寫table標籤比較麻煩尤其是涉及到table內嵌table的時候,所以css給我們提供了display: table的方式可以讓讓們方便的使用table布局, 設定子元素為列的屬性為display:table-cell

css樣式:

.main

.left,.center,.right

.left

.center

.right

由於table布局本身已經有自己特有的屬性,所以我們只需要設定其dispaly屬性就可以達到我們的目的。

彈性(flex)布局:

html模版:這裡的html模版和 position使用的html一樣

flex布局是w3c提出了一種新的方案,可以簡便、完整、響應式地實現各種頁面布局。

當給元素設定display:flex,則該元素就是乙個flex容器,其子元素就是容器成員,稱之為flex專案,每個專案預設按照從左到右方式排列。

css樣式:

.main

.left

.center

.right

網格(gird)布局:

html模版: 這裡的html模版和 position使用的html一樣

網格它將網頁劃分成乙個個網格,可以任意組合不同的網格,做出各種各樣的布局。

將屬性 display 值設為 grid 或 inline-grid 就建立了乙個網格容器,所有容器直接子結點自動成為網格專案。

gird提供了 gird-template-columns、grid-template-rows屬性讓我們設定行和列的高、寬

css樣式:

.div

總結:

1、float布局是現在用的比較多的布局很多門戶**目前使用這個布局方式,使用的時候只需要注意一定要清除浮動。

2、position布局只是根據定位屬性去直接設定元素位置,個人感覺不太適合用做頁面布局

3、table布局使用起來方便,相容性也不存在問題,不利於搜尋引擎抓取資訊

4、flex布局比較強大,但是還是存在ie上相容性問題,只能支援到ie9以上

5、grid布局很強大,但是相容性很差。

兩欄布局和三欄布局的實現

左側固定,右側自適應,不給右側設定固定寬度即可 1 class wrap 2class left 3左側固定內容45 class right 6右側內容自適應78 3左側固定內容45 class right 6右側內容自適應78 3左側固定內容45 class right 6右側內容自適應78 3左...

CSS實現 兩欄布局,三欄布局

aside div main div div aside main 左側欄固定寬度向左浮動,右側主要內容則用margin left留出左側欄的寬度,預設寬度為auto,自動填滿剩下的寬度。右側固定寬度,左側自適應則是同理,只要將固定欄右浮動,使用margin right空出其寬度即可。aside d...

實現三欄布局的幾種方法

三欄布局,顧名思義就是兩邊固定,中間自適應。三欄布局在實際的開發十分常見,比如 網的首頁,就是個典型的三欄布局 即左邊商品導航和右邊導航固定寬度,中間的主要內容隨瀏覽器寬度自適應。我們不妨假定這樣乙個布局 高度已知,其中左欄 右欄寬度各為300px,中間自適應,可以通過幾種方法來實現?以及各自的優缺...