一文掌握CSS 属性display:flow-root声明

2020-05-13 0 942

byzhangxinxu from https://www.zhangxinxu.com/wordpress/?p=9404

本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可以联系授权。

一、Safari浏览器支持了

display:flow-root 刚出来的时候,我一看兼容性,啧啧,不知道猴年马月才能用在生产环境,今天又遇到这厮,一查兼容性,嘿,小子,不错嘛,Safari浏览器从版本13开始支持了,距离流行使用指日可待。

一文掌握CSS 属性display:flow-root声明

二、display:flow-root干嘛用的?

元素,无论是内联元素,还是原本就是块级元素,在应用 display:flow-root 声明后,都会变成块级元素,同时这个元素会建立新的块级格式上下文,也就是业界常说的BFC。

关于BFC,可以参考我之前的这篇经典文章:“ CSS深入理解流体特性和BFC特性下多栏自适应布局 ”。

BFC除了可以用来布局之外,还有清除浮动,以及去除margin合并现象的作用,因此, display:flow-root 也有类似的作用,相比float浮动,position绝对定位,或者overflow隐藏,inline-block等特性产生的块级格式上下文, display:flow-root 不会给元素带来额外的副作用,例如 overflow:hidden 虽然可以去除浮动的干扰,但是,有可能会让子元素无法定位在容器外部。

使用 display:flow-root 就不会有这样的担忧。

例如下面这个例子,容器有轮廓,子元素浮动:

结果轮廓都合在一起了,如下图所示:

一文掌握CSS 属性display:flow-root声明

此时,只要给 <p> 元素设置 display:flow-root ,浮动导致元素高度塌陷的问题就不存在了:

效果如下截图所示:

一文掌握CSS 属性display:flow-root声明

类似的,margin属性合并的现象也可以使用 display:flow-root 阻止。

HTML代码如下:

CSS如下:

结果上面的容器元素margin被穿过去了,而下面的容器元素,因为设置了 display:flow-root ,所以margin穿透被阻止了,于是,里面 <p> 元素占据的空间就显得较大,如下图所示:

一文掌握CSS 属性display:flow-root声明

以上两个例子均有demo可以体验,您可以狠狠地点击这里: display:flowt-root作用示意demo

display:flow-root 还可以和浮动属性配合,实现两栏自适应的布局效果。

例如:

实时效果如下:

一文掌握CSS 属性display:flow-root声明

拼多多暴涨7%,市值突破700亿美元,超越京东。而黄峥个人财富也处于内地第三大富豪

三、结语

总结下本文要点

display:flow-root 可以让元素块状化,同时包含格式化上下文BFC,可以用来清除浮动,去除 margin 合并,实现两栏自适应布局等。

display:flow-roo t可以在部分项目中使用了。

display:flow

display 属性还支持一个目前处于试验形式的值,名为 flow ,表现为元素可能是内联框盒子,也可能是块级框盒子。

究竟渲染成哪个盒子与外部元素的显示类型相关,

要么生成内联格式化上下文,要么生成块级格式化上下文。如果元素外部显示类型为inline或run-in,并且元素参与block或inline格式上下文中,则元素表现为inline框,否则表现为block容器框。

根据是否包含格式化上下文属性(如 positionfloatoverflow )以及元素本身是否参与块或内联格式上下文, display:flow 元素要么为其内容建立新的块格式上下文(BFC),要么将其内容集成到其父格式上下文中。

display:flow 目前兼容性不详,估计目前没几个浏览器支持。

等日后成熟再展开介绍。

到此这篇关于一文掌握CSS display:flow-root声明的文章就介绍到这了,更多相关CSS display:flow-root内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

本知识来源于互联网索引,如有侵权请联系我们!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在!
点赞 (0)

1、寻代码所有源码、代码、教程和软件均为作者提供和网友推荐收集整理而来!
2、寻代码提供的所有模块、软件等资源,均不提供任何技术服务,请知悉!
3、如您需要商用,请支持正版,寻代码网站所提供的程序仅供学习和研究使用!
4、寻代码源码不得使用于非法商业用途,不得违反国家法律。您必须在下载后24小时内删除!
5、寻代码资源每天实时更新,如遇压缩包解压密码,一律为:www.xundm.com
6、寻代码资源售价和VIP会员只是赞助,收取费用仅维持本站的日常运营所需!
7、如有链接无法下载、失效或广告,请在会员中心下工单!
如有侵犯您版权的,请来信(邮箱:[email protected])指出,本站将立即改正。

寻代码 网站制作 一文掌握CSS 属性display:flow-root声明 https://xundm.com/202012768.html

常见问题
  • 当然可以,寻代码每日签到奖励1寻币,推广注册奖励5寻币,只要坚持关注和推广我们站,您可以免费下载全站资源
查看详情
  • 寻代码所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 赞助VIP介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言或在会员中心直接提交工单 。
查看详情
  • 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
查看详情

相关文章

寻代码站内服务

为您解决烦忧 - 24小时在线 专业服务