CSS特殊布局方式

一.左边固定,右边自适应

(1)通过浮动和定位

通过设置padding值空出左边位置,左边定位,右边浮动

<body>
    <header>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        header{
            margin: 0;
            padding-left: 200px;
            height: 100vh;
            position: relative;
        }
        div{
            float: left;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            background-color: yellowgreen;
        }
        div:nth-of-type(2){
            width: 100%;
            height: 100%;
            background-color: skyblue;
        }
    </style>

(2)通过宽度计算

通过calc属性直接计算宽度值

<body>
    <header>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        div{
            float: left;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100vh;
            background-color: yellowgreen;
        }
        div:nth-of-type(2){
            width: calc(100% - 400px);
            height: 100vh;
            background-color: red;
        }
</style>

(3)通过弹性盒子布局

通过设置扩张因子实现

<body>
    <header>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        header{
            display: flex;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100vh;
            background-color: yellowgreen;
        }
        div:nth-of-type(2){
            width: 200px;
            height: 100vh;
            flex-grow: 1;
            background-color: red;
        }
</style>

二.双飞翼布局(左右固定,中间自适应)

(1)通过浮动和定位

通过设置padding值空出左边右边位置,左边右边定位,中间浮动

<body>
    <header>
        <div></div>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        header{
            margin: 0;
            padding: 0;
            height: 100vh;
            position: relative;
            padding: 0 200px;
        }
        div{
            float: left;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            background-color: yellowgreen;
        }
        div:nth-of-type(3){
            width: 200px;
            height: 100%;
            position: absolute;
            right: 0;
            background-color: red;
        }
        div:nth-of-type(2){
            width: 100%;
            height: 100%;
            background-color: skyblue;
        }
 </style>

(2)通过宽度计算

通过calc属性直接计算宽度值

<body>
    <header>
        <div></div>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        div{
            float: left;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100vh;
            background-color: yellowgreen;
        }
        div:nth-of-type(2){
            width: calc(100% - 400px);
            height: 100vh;
            background-color: red;
        }
        div:nth-of-type(3){
            width: 200px;
            height: 100vh;
            background-color: skyblue;
            
        }
</style>

(3)通过弹性盒子布局

通过设置扩张因子实现

<body>
    <header>
        <div></div>
        <div></div>
        <div></div>
    </header>
</body>
<style>
        div{
            float: left;
        }
        div:nth-of-type(1){
            width: 200px;
            height: 100vh;
            background-color: yellowgreen;
        }
        div:nth-of-type(2){
            width: calc(100% - 400px);
            height: 100vh;
            background-color: red;
        }
        div:nth-of-type(3){
            width: 200px;
            height: 100vh;
            background-color: skyblue;
            
        }
</style>

三.微信布局

同理双飞翼布局的通过弹性盒子布局,再通过flex-direction: column;属性旋转主轴方向即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值