css尺寸的自适应

css自适应关键字:

fill-available,max-content,min-content,fit-content

fill-available:

撑满空闲空间 (inline-block可以撑满可用空间)
若inline-block的高度需要撑满可用空间则父级元素需要设置固定像素的值,否则生效
实例如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>fill-available</title>
  <style>
    .box1{
      background-color: rebeccapurple;
    }
    /* inline-block可以撑满可用空间 */
    .box2{
      display: inline-block;
      background-color: pink;
      width: -webkit-fill-available;
      height: -webkit-fill-available;
    }
    /* 若inline-block的高度需要撑满可用空间则父级元素需要设置固定像素的值,否则生效 */
    .box{
      height: 200px;
    }
    .child{
      display: inline-block;
      background-color: royalblue;
      height: -webkit-fill-available;
    }
  </style>
</head>
<body>
  <!-- 正常参考 -->
  <div class="box1">111</div>
  <!-- 设置fill-available,但是父级元素没指定高度 -->
  <div class="box2">222</div>
  <!-- 设置fill-available,父级元素指定高度  -->
  <div class="box">
    <div class="child">child</div>
    <div class="child">child</div>
    <div class="child">child</div>
  </div>
</body>
</html>

在这里插入图片描述

fit-content:

收缩到内容尺寸(针对block元素有效)
实例如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>fit-content</title>
  <style>
    .box{
      background-color: royalblue;
    }
    .box2{
      background-color: sandybrown;
      margin: auto;
      width: -webkit-fit-content;
    }
  </style>
</head>
<body>
  <!-- 参考盒子 -->
  <div class="box">111</div>
  <!-- 设置了fit-content -->
  <div class="box2">222</div>
</body>
</html>

在这里插入图片描述

min-content

min-content的宽度: 以容器中子元素的最大值为准
min-content的宽度: 以容器中子元素的最大值为准,若是文本则参考的是不换行的文本的最大值,换行的文本就不考虑了

max-content

以容器中元素的最大值为准, 如果出现文本,所有的文本的最大值为准, 文本都会处理成不换行的形式

实例如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>min&max-content</title>
  <style>
    /* min-content的宽度: 以容器中子元素的最大值为准,若是文本则参考的是不换行的文本的最大值,换行的文本就不考虑了 ,*/
    .box1{
      width: -webkit-min-content;
    }
    /* 以容器中元素的最大值为准, 如果出现文本,所有的文本的最大值为准, 文本都会处理成不换行的形式 */
    .box2{
      width: -webkit-max-content;
    }
    .c:nth-child(1) {
      background: seagreen;
    }
    .c:nth-child(2){
      background: sienna;
    }
  </style>
</head>
<body>
  <!-- min-content -->
  <div class="box1">
    <div class="c">1111</div>
    <div class="c">12222222sdfghjkhgfdsadfghfd</div>
  </div>
  <br/>
  <!-- max-content -->
  <div class="box2">
    <div class="c">1</div>
    <div class="c">测试测试测试测试测试测试测试测试测试测试测试测测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试</div>
  </div>
</body>
</html>

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值