• CSS3四个自适应关键字——fill-available、max-content、min-content、fit-content


     

    前面的话

      一般地,有两种自适应:撑满空闲空间与收缩到内容尺寸。CSS3将这两种情况分别定义为'fill-availabel'和'fit-content'。除此之外 ,还新增了更细粒度的'min-content'和'max-content'。这四个关键字可用于设置宽高属性。本文将详细介绍CSS3中的这四个自适应关键字

      [注意]IE浏览器不支持,webkit内核浏览器需添加-webkit-前缀

    fill-available

      fill-available表示撑满可用空间

      举例来说,页面中一个<div>元素,该<div>元素的width表现就是fill-available自动填满剩余的空间

      出现fill-available关键字值的价值在于,可以让元素的100%自动填充特性不仅仅在block水平元素上,也可以应用在其他元素

      下面的例子中,inline-block元素宽度撑满了可用宽度

    复制代码
    <style>
    div{
      background-color: pink;
      display:inline-block;
      -webkit-fill-available;
    }
    </style>
    <div>小火柴的蓝色理想</div>
    复制代码

      类似地,高度也有此特性

      下面的例子中,div元素高度撑满了可用高度

    复制代码
    <style>
    div.inner{
      background-color: pink;
      height:-webkit-fill-available;
    }
    </style>
    <div style="height: 100px;">
      <div class="inner">小火柴的蓝色理想</div>
    </div>
    复制代码

    【等高布局】

      于是,利用fill-available可以轻松地实现等高布局

    复制代码
    <style>
    .inner{
      100px;
      height:-webkit-fill-available;
      margin:0 10px;
      display: inline-block;
      vertical-align: middle;
      background-color: pink;
    }
    </style>
    <div style="height: 100px;">
      <div class="inner">HTML</div>
      <div class="inner">CSS</div>
      <div class="inner">JS<br>jQyery<br>Vue</div>
    </div>
    复制代码

    fit-content

      fit-content表示将元素宽度收缩为内容宽度

      下面是一个实例

    复制代码
    <style>
    div{
      background-color: pink;
      -webkit-fit-content;
    }
    </style>
    <div>小火柴的蓝色理想</div>
    复制代码

    【水平居中】

      fit-content可以实现元素收缩效果的同时,保持原本的block水平状态,于是,就可以直接使用margin:auto实现元素向内自适应同时的居中效果了

    复制代码
    <style>
    div{
      background-color: pink;
      -webkit-fit-content;
      margin:auto;
    }
    </style>
    <div>小火柴的蓝色理想</div>
    复制代码

      类似地,高度也有此特性,但不常用

    min-content

      min-content表示采用内部元素最小宽度值最大的那个元素的宽度作为最终容器的宽度

      首先,要明白这里的“最小宽度值”是什么意思。替换元素,例如图片的最小宽度值就是图片呈现的宽度,对于文本元素,如果全部是中文,则最小宽度值就是一个中文的宽度值;如果包含英文,因为默认英文单词不换行,所以,最小宽度可能就是里面最长的英文单词的宽度

    复制代码
    <style>
    .outer{
      -webkit-min-content;
    }
    </style>
    <div class="outer">
      <div style="height:10px;100px;background:lightgreen"></div>
      <div style="">小火柴的蓝色理想</div>
    </div>
    复制代码

    max-content

      max-content表示采用内部元素宽度值最大的那个元素的宽度作为最终容器的宽度。如果出现文本,则相当于文本不换行

    复制代码
    <style>
    .outer{
      -webkit-max-content;
      border:1px solid black;
    }
    </style>
    <div class="outer">
      <div style="height:10px;100px;background:lightgreen"></div>
      <div style="">小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想</div>
    </div>
    复制代码
  • 相关阅读:
    Linq to xml 示例分析
    Nhibernate学习笔记
    SQL – 11.练习
    集合 ArrayList
    分享一个不错的VS插件——CodeMap(转发)
    wamp配置虚拟主机,虚拟目录,伪静态
    RBAC (RoleBased Access Control)基于角色的访问控制
    PHP的面向对象
    一名靠谱的JavaScript程序员应备的素质
    Javascript 广告定位
  • 原文地址:https://www.cnblogs.com/yimuzanghua/p/8464216.html
Copyright © 2020-2023  润新知