如何實現兩欄布局,三欄布局,水平 垂直居中

2021-10-23 22:10:16 字數 2486 閱讀 4598

先寫一下樣式

"box">

"left">左

"right">右

使用float + margin方式實現

還可以使用position實現

div

.left

.right

也可以使用flex實現

div

.box

.left

.right

先寫樣式

"box">

"left">左

"right">右

"center">中

使用float + margin方式實現

div

.center

.left

.right

使用position實現

div

.center

.left

.right

使用flex布局

.box

.left

.right

.center

聖杯布局

三列布局,左列和右列都是固定寬度,中間自適應

232     33         "main">

34

35 "middle">

36 "content">

37 middle-content

38

39

40 "left">left

41

42 "right">right

43

44

45

雙飛翼布局

三欄布局,兩邊的盒子寬度固定,中間盒子自適應

"header">#header

"container">

"center" class="column">

"content">#center

"left" class="column">#left

"right" class="column">#right

"footer">#footer

雙飛翼布局和聖杯布局的區別:

聖杯布局和雙飛翼布局解決問題的方案在前一半是相同的,也就是三欄全部float浮動,但左右兩欄加上負margin讓其跟中間欄div併排,以形成三欄布局。不同的地方在於解決中間div內容不被遮擋的思路上面:

1.聖杯布局的為了中間內容不被修改,是通過包裹元素的padding-left和padding-right來使得內容div置於中間,然後再通過相對定位position

:relative,配合right或left屬性讓左右兩欄不遮擋中間內容。

2.雙飛翼布局的解決方案是:通過在中間元素的內部新增乙個div用於放置內容,然後通過左右外邊距margin-left和margin-right為左右兩欄留出位置。

position + margin實現

flex實現

通過text-align: center 實現;

前提是看它的父元素是不是塊級元素,如果是,則直接給父元素設定 text-align: center;

1111

如果不是,則先將其父元素設定為塊級元素,再給父元素設定 text-align: center;

.box

.box1

可以使用margin: 0 auto實現

#father

#son

.box1

使用flexbox布局

.box

.box1

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

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

三欄布局與兩欄布局

html 左邊定寬div 右邊自適應,前端前端前端前端前端前端前端前端前端前端div 1.left right 2.left right 3.left right 1.聖杯布局 class container class middle 中間div class left 左側div class rig...

兩欄布局和三欄布局

這篇文章中主要將自己學到的兩欄布局和三欄布局的方法總結一下 兩欄布局,左側固定,右側自適應 結構 css樣式 left right如果是右側固定,左側自適應呢?html css right left注意 1 哪側固定哪個div就寫在上邊,不能顛倒順序 2 除了用float浮動外,還可以用定位的方式,...