博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS中的包裹性
阅读量:6963 次
发布时间:2019-06-27

本文共 637 字,大约阅读时间需要 2 分钟。

之前一直都知道css中的部分元素具有包裹性,今天写博客的时候正好也遇到了一个,所以想总结一下,有错误的地方欢迎指出来。

什么是包裹性?

包裹性就是父元素的宽度会收缩到和内部元素宽度一样。

哪些元素具有包裹性?

就我已知的有:absolute,fixed,float,inline-box等等。

仔细看看这些元素,他们都有一个共同特点,那就是都会产生BFC,所以我大胆的猜想了一下,所有能产生BFC的元素都具有包裹性,下面就一个个验证。

浮动

经过测试,浮动元素会自动包裹内部元素。

代码:

position为absolute或fixed

除了relative之外的其他定位也都具有包裹性,fixed可以看做特殊的absolute。

代码:

overflow不为visible和zoom

overflow和zoom无法自适应宽度,但是可以用来清除浮动,它们都可以包裹元素高度。

代码:

display为inline-block, table-cell, table-caption, flex, inline-flex

经过测试,只有flex无法包裹,其他的都很好的包裹了。

代码:

所以,经过测试,并不是所有可以产生BFC的元素都具有包裹性。

应用场景:

个人认为,当遇到内部宽度不确定的时候,父元素又需要设置一个宽度,这时候包裹性就很有用处了,比如导航条里面,li宽度没有固定的时候,又希望ul的宽度和总宽度相同,这时候可以给ul设置inline-block等元素来解决。

转载地址:http://vmwsl.baihongyu.com/

你可能感兴趣的文章
Python 获取本机ip地址
查看>>
NO.1 关于禅道
查看>>
win-codeblocks-16.01
查看>>
Cacti中文版在Centos上的安装(1)
查看>>
转:路由器MTU值对于网络通讯的影响(解决部分网站打不开问题)
查看>>
状态模式
查看>>
PHP,安卓,ios相互适用的AES加密算法
查看>>
我的友情链接
查看>>
LitePal的使用
查看>>
查找旁站路径的几种方法
查看>>
Cisco路由配置入门
查看>>
我的友情链接
查看>>
创建并调用 DLL(1)
查看>>
lvs+keepalived实现DR模式热备
查看>>
各种媒体数据以 base64 编码方式直接嵌入网页中的写法
查看>>
由客户现场引发的思考
查看>>
Android应用及应用管理
查看>>
开发第一个Hibernate项目,实现插入数据功能
查看>>
Xcode8 missing file 报出 ”xx“is missing from working copy 的问题 解决方法汇总
查看>>
rhsl 6.5 搭建DNS服务器
查看>>