找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2004|回复: 0

[CSS] CSS3四个自适应关键字: ill-available、max-content、min-content、fit...

[复制链接]

262

主题

124

回帖

9

广播

业务站长

积分
166
泰拉
180
水晶
2
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2019-10-15 16:38:38 | 显示全部楼层 |阅读模式
前面的话
一般地,有两种自适应:撑满空闲空间与收缩到内容尺寸。CSS3将这两种情况分别定义为'fill-availabel'和'fit-content'。除此之外 ,还新增了更细粒度的'min-content'和'max-content'。这四个关键字可用于设置宽高属性。本文将详细介绍CSS3中的这四个自适应关键字
[注意]IE浏览器不支持,webkit内核浏览器需添加-webkit-前缀



fill-available
  width:fill-available表示撑满可用空间
  举例来说,页面中一个<div>元素,该<div>元素的width表现就是fill-available自动填满剩余的空间
  出现fill-available关键字值的价值在于,可以让元素的100%自动填充特性不仅仅在block水平元素上,也可以应用在其他元素
  下面的例子中,inline-block元素宽度撑满了可用宽度

  1. <style>
  2. div{
  3.   background-color: pink;
  4.   display:inline-block;
  5.   width:-webkit-fill-available;
  6. }
  7. </style>
  8. <div>小火柴的蓝色理想</div>
复制代码


  类似地,高度也有此特性
  下面的例子中,div元素高度撑满了可用高度

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


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

  1. <style>
  2. .inner{
  3.   width:100px;
  4.   height:-webkit-fill-available;
  5.   margin:0 10px;
  6.   display: inline-block;
  7.   vertical-align: middle;
  8.   background-color: pink;
  9. }
  10. </style>
  11. <div style="height: 100px;">
  12.   <div class="inner">HTML</div>
  13.   <div class="inner">CSS</div>
  14.   <div class="inner">JS<br>jQyery<br>Vue</div>
  15. </div>
复制代码



fit-content

  width:fit-content表示将元素宽度收缩为内容宽度
  下面是一个实例

  1. <style>
  2. div{
  3.   background-color: pink;
  4.   width:-webkit-fit-content;
  5. }
  6. </style>
  7. <div>小火柴的蓝色理想</div>
复制代码



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

  1. <style>
  2. div{
  3.   background-color: pink;
  4.   width:-webkit-fit-content;
  5.   margin:auto;
  6. }
  7. </style>
  8. <div>小火柴的蓝色理想</div>
复制代码


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

min-content
  width:min-content表示采用内部元素最小宽度值最大的那个元素的宽度作为最终容器的宽度
  首先,要明白这里的“最小宽度值”是什么意思。替换元素,例如图片的最小宽度值就是图片呈现的宽度,对于文本元素,如果全部是中文,则最小宽度值就是一个中文的宽度值;如果包含英文,因为默认英文单词不换行,所以,最小宽度可能就是里面最长的英文单词的宽度

  1. <style>
  2. .outer{
  3.   width:-webkit-min-content;
  4. }
  5. </style>
  6. <div class="outer">
  7.   <div style="height:10px;width:100px;background:lightgreen"></div>
  8.   <div style="background-color: pink;">小火柴的蓝色理想</div>
  9. </div>
复制代码

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

  1. <style>
  2. .outer{
  3.   width:-webkit-max-content;
  4.   border:1px solid black;
  5. }
  6. </style>
  7. <div class="outer">
  8.   <div style="height:10px;width:100px;background:lightgreen"></div>
  9.   <div style="background-color: pink;">小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想小火柴的蓝色理想</div>
  10. </div>
复制代码


[发帖际遇]: 曲奇饼 乐于助人,奖励 3 泰拉. 幸运榜 / 衰神榜
慵懒~慵懒~
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-5-19 20:13 , Processed in 0.111185 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表