CSS 俩边固定中间自适应(4种方法)

俩边固定中间自适应

1、float
2、flex布局
3、position绝对定位
4、calc计算函数(移动端慎用)
推荐使用 1 2 3 种方法

第一种:float;

HTML

<div class="screenBox">
	<div class="left"></div>
	<div class="right"></div>
	<!--如果使用float布局的话,中间的容器必须必须必须放到最后!!!-->
	<div class="center">中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,</div>
</div>

CSS

.screenBox {
        height: 600px;
    }

    .left,
    .right {
        width: 200px;
        height: 90%;
        background-color: yellow;
    }

    .left {
        float: left;
    }

    .right {
        float: right;
    }

    .center {
        margin: 0 200px;
        height: 100%;
        background-color: blue;
    }

效果
在这里插入图片描述

第二种:flex布局

HTML

<div class="screenBox">
	<div class="left"></div>
	 <div class="center">中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,</div>
	<div class="right"></div>
 </div>

CSS

.screenBox {
        position: absolute;
        width: 100%;
        height: 100%;
        display: flex;
    }

    .left,
    .right {
        width: 200px;
        height: 100%;
        background-color: #999;
    }

    .center {
        flex: 1;
        height: 100%;
        background-color: #f00;
    }

效果
在这里插入图片描述

第三种:position绝对定位

HTML

<div class="screenBox">
	<div class="left"></div>
	<div class="center">中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,</div>
	<div class="right"></div>
</div>

CSS

.screenBox {
        position: relative;
        height: 600px;
    }

    .left {
        position: absolute;
        left: 0;
        top: 0;
        width: 200px;
        height: 400px;
        background-color: blue;
    }

    .center {
        margin: 0 200px;
        height: 600px;
        background-color: yellow;
    }

    .right {
        position: absolute;
        top: 0;
        right: 0;
        width: 200px;
        height: 400px;
        background-color: red;
    }

效果
在这里插入图片描述

第四种:calc计算函数

calc() 函数用于动态计算长度值。
运算符前后都需要保留一个空格;
任何长度值都可以使用calc()函数进行计算;
calc()函数支持 “+”, “-”, “*”, “/” 运算;
calc()函数使用标准的数学运算优先级规则;

<div class="screenBox">
	<div class="left"></div>
	<div class="center">
	中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,中间的box,
	</div>
	<div class="right"></div>
</div>

CSS

.screenBox {
        height: 600px;
    }

    .left {
        float: left;
        width: 200px;
        height: 400px;
        background-color: blue;
    }

    .center {
        float: left;
        /* 总宽度减去左右盒子的宽度 */
        width: calc(100% - 400px);
        background: yellow;
        height: 600px;
    }

    .right {
        float: left;
        width: 200px;
        height: 400px;
        background-color: red;
    }

效果
在这里插入图片描述
完!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值