页面布局笔记

本文详细介绍了实现三栏布局的五种方法,包括浮动布局、绝对定位、Flexbox、表格布局和网格布局。每种方法都有其优缺点,如浮动布局的兼容性好但需清除浮动,绝对定位便捷但可能导致元素脱离文档流。Flexbox提供了一种更为完善的解决方案,而表格布局和网格布局在特定场景下也有其适用性。在高度未知且需内容自适应的情况下,推荐使用Flexbox和表格布局。选择哪种布局取决于具体需求和浏览器支持情况。
摘要由CSDN通过智能技术生成

页面布局

三栏布局

描述:假设容器的高度已知,写出左右栏宽度固定,中间栏宽度自适应的三栏布局

解决方法:

  1. 方法1:浮动

    左栏设置左浮动,右栏设置右浮动,中间栏会自动适应

    优点:兼容性好

    缺点:浮动会导致元素脱离文档流,因此要清除浮动。

  2. 方法2:绝对定位

    左栏设置绝对定位并left:0,右栏设置绝对定位并right:0,中间栏设置绝对定位并left和right设为左右栏的宽度即可自适应

    优点:便捷

    缺点:导致子元素也脱离了文档流,实用性差

  3. flexbox

    容器设为display:flex,设置左右栏宽度后让中间栏的flex=1即可自适应

    优点:解决了方法1、2的缺点,较完美

  4. 表格布局table(淘汰)

    设置容器的宽度为100%,设置三个部分均为表格,对左右单元格的宽度进行设置,中间单元格即会自适应

    优点:兼容性比flex好

    缺点:由于三部分都被当作单元格,如果中间部分变高了,其他部分也会”被迫“变高

  5. 网格布局grid

    参数都在容器中设置

    .container{
        display: grid;
        width: 100%;
        grid-template-rows: 100px;//行高
        grid-template-columns: 200px auto 200px;//列宽  
    }
    

    优点:简化代码量,CSS3新增

如果高度未知,由中间栏的内容撑开高度,应选择flex和表格布局,其他布局都不能满足需求。

总结:布局没有绝对的优势之分,根据适用场景选择能满足需求的即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值