两/三栏布局(圣杯双飞翼布局)

本文介绍了两栏布局的实现方式,包括圣杯布局和双飞翼布局。圣杯布局利用DOM结构优势,中间区域优先渲染;双飞翼布局简化了代码并解决了圣杯布局的问题,但需额外标签。重点讲解了浮动、宽度计算和margin的运用。
摘要由CSDN通过智能技术生成

两栏布局

两栏布局,两个div盒子,左边固定宽度,右边自适应

左边盒子设置左浮动,右边盒子加overflow:hidden,然后清除左侧的浮动即可

圣杯双飞翼的特点

两侧宽度固定,中间宽度自适应

中间部分在DOM结构上优先,以便先行渲染

允许三列中的任意一列成为最高列

只需要使用一个额外的<div >外层 标签

圣杯布局

首先构建DOM结构,大的div里面三个小的div分别是中左右三部分,其中中间部分定义在最前面,中间部分在DOM结构上优先,以便先行渲染.

设置左右div固定宽度,中间部分宽度100%,中间部分设置padding-left或者-right左右的宽度即可,给父元素设置左浮动,因为中间区域宽度100%,所以会单独占一行,左右分别在下面,给左边的元素的margin-left为-100%,右边的设置margin-right-它自身的宽度即可,对left和right添加position:relative就实现了圣杯布局

双飞翼布局

双飞翼布局跟圣杯布局基本相同,双飞翼布局不仅能满足main处于优先加载的地位,也能更好解决圣杯布局的错乱问题,且css代码简单,缺点是增加了一个标签

实现:只需要给中间内容区域多套一个盒子,并且设置它的左右margin值为左右侧边栏的宽度,因为外部盒子进行了浮动,中间区域嵌套里面的盒子由于没有设置浮动,所以其宽度默认为外层盒子的100%宽度,通过对其设置margin-leftmargin-right为左右两列预留出了空间,然后再将左边的元素的margin-left为-100%,右边的设置margin-right-它自身的宽度即可实现双飞翼布局

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值