HTML自定义三栏,HTML+CSS三栏式布局(7种)

1.float(脱离文本流)

css部分代码:

1863d21439a6fa461cc2cdbe8d4062f0.png

html:

f38cac77c44ff77e0feece9d43929a88.png

效果:3eeedfa7e2a822e0b596431d68d5b927.png

特点:左右两栏利用中间的margin挤出空间,左侧向左浮动,右侧向右浮动,中间不设置宽度,随着屏幕的缩小,左右两栏的宽度会保持不变,中间的宽度会减小。

2.且对定位absolute(脱离文档流)

css:

f0940f563572dd0e61229cfa19929a35.png

html:

962b107807fb4ac20d13485e61c056a6.png

效果:

a8872b949e13773719e943969b61696d.png

特点:左右两栏设置为绝对定位,将脱离文档流,中间部分利用margin挤出左右两栏的空间,当窗口缩小时,左右两栏宽度不变,中间一栏的宽的减小。

3.flex布局

css:

237ce7577fd46827105810889ce1c755.png

html:

3d871ead1b6527f43ca280f92be3fc9e.png

效果:

ae6dcb4870e7ef79c19e8c95644ad1d9.png

当窗口过度缩小时,左右两栏会相应的缩小

95c7e9df0dd29a59d246fbe3be0b1843.png

特点:兼容性较弱,但适应性较好,网页布局一般用这种方法。若不设定每一栏的高度,高度由内容撑开,若设置任意一栏的高度,则另外两栏高度也会同步改变。

4.table布局

css:

f969a2d45235510d1f4a2ea8b1a394a7.png

html:

b7f1cb0d1418823dab6fe03ffed6c680.png

效果(设置了middle高度为300px):

7e49d597f0d4f6267b3c454ce9d75195.png

效果(不设置任何高度):

df3d9962875f6b6b7882394ddd7ae738.png

特点:与flex布局相似,高度由内容撑开,若设置了任意一栏的高度,则其余两栏的高度会随之变化。

5.Grid网格布局

css:

436d74ee0637b7b254bdf4b38c08f337.png

html:

071f0821d7a46c5b61bd31098074af5f.png

效果:

d3d74f87c51eea9bd94b21fea471d2a3.png

特点:与table布局相似,高度由内容撑开,若设置了任意一栏的高度,则其余两栏的高度会随之变化。

6.圣杯式布局

css:

2058f1c1a68d13113b09bb7ff01d406a.png

html:

b6c39d2c28fbd8c332ddeecfa594278c.png

效果:

37baeb0cc7651c7e9d2ef820f08eafd3.png

特点:在最开始用容器包裹了:左、中、右,随后通过设置包裹容器container的padding,让中间区域左右留白,也就是说圣杯布局的左、中、右是完全独立的,他们之间是有缝隙的(如果缝隙可见的话),例如我们接下来:给container加一个黑色背景色,并且设置高一些的高度。去左、中、右的等高布局,给middle再加一行文字。可以看出,左、中、右是独立的三个区域,都处于一个层级,都由container这个容器承接,左右两侧是靠container的padding留出来的。

41027f2479d6df0fcc5b31592f7a70d3.png

7.双飞翼布局(与圣杯类似)

css:

fe2679e4c6418d0f03d569c5ff5586be.png

html:

e5fe53dc1fdf79cb5a28131efe9e68b5.png

效果:

8a97e5c089f61970641aaca749f10c67.png

特点:双飞翼采用只处理中间解决遮盖问题,先给中间的包裹器middle加margin,让出左右空间,然后给left、right设置margin为负,把自己推上去,可以看出,左、中、右是独立的三个区域,中间区域属于最上面的层级(inner那个div),左右两侧和middle容器一个层级。和圣杯布局相同的是中间栏都放到文档的前面,保证现行渲染。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值