两栏自适应布局6种方案(一侧定宽,一侧自适应宽度)

本文总结了6种实现两栏布局的方法,包括左侧或右侧定宽,另一侧自适应宽度的布局。涵盖浮动、margin、BFC、position、display:table和flex布局。这些技巧对于前端开发者理解和解决面试题非常有帮助。
摘要由CSDN通过智能技术生成

最近看面试题,看到很多次类似的题目,左侧定宽右侧自适应, 或右侧定宽左侧自适应。网上众说纷纭,示例很多缺少原理讲解。所以在此复习总结。希望能给初学者,自学者一些帮助吧。共勉。。。

目前我所知的主要6种方式

方法一:

固定宽度区域浮动,自适应区域设置margin(值 = 固定的宽)

原理:float的固定宽度区域脱离文档流。自适应区域默认占满父元素宽度。通过设置margin(值 = 固定的宽) 来控制自适应区域的宽度。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            border: 1px solid;
            overflow: hidden; /*清浮动*/
        }
        .left{
            float: left;
            width: 200px;
            height: 500px;
            background-color: skyblue;
        }
        .right{
            height: 200px;
            background-color: pink;
            margin-left: 200px; /*值 = 固定的宽*/
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="left">左边固定宽度200</div>
        <div class="right">右边自适应</div>
    </div>
</body>
</html>

左侧浮动定宽,右侧自适应
注:此种方法必须要把浮动的固定区域放在前面。因为浏览器的渲染顺序,自适应的区域会先撑满整个区域。否则如图所示

<body>
    <div class="box">
        <div class="right">右边自适应</div>
        <div class="left&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值