你可能不知道的css属性shape-outside

lxf2023-05-05 21:50:01

掌握可能不知道的而又有很重要的知识点是很重要。这一节主要讲的一个CSS 属性:shape-outside。

随着css的发展,我们很多的布局都有了很多的解决方案。flex布局、圣杯布局等等。有一个很重要的是浮动布局,也就是float,尽管现在很多人都不愿意用float来布局,可能导致需要清除浮动的工作。但是float还是有很多场景适合用它的地方。例如下面这种:

你可能不知道的css属性shape-outside

对于这种,如果让你布局,你会怎样实现呢?如果不出意外,很多伙伴会去写满几十行的代码。难看且复杂。但是你掌握了这个属性,10行代码足以搞定。

shape-outside

定义一个可以是非矩形的形状,相邻的内联内容应围绕该形状进行包装。 默认情况下,内联内容包围其边距框; shape-outside提供了一种自定义此包装的方法,可以将文本包装在复杂对象周围而不是简单的框中。

一句话就是,可以给浮动元素添加非矩形的形状,让其它元素绕着这个特殊形状围绕。

它有多种赋值方式。我们来看看区别。

circle()

你可能不知道的css属性shape-outside

通过这个动画,我们就理解了,它会从元素中心设置一个圆形,当触碰到圆形之后,包围在圆形周围。

特点

1、以圆形设置非矩形

2、最大不超过元素原始大小范围。

3、负数相当于元素本身高宽范围

ellipse()

你可能不知道的css属性shape-outside

这个应该不用多说了,也就是按照椭圆形来设置非矩形,ellipse(x,y),这个的好处是xy轴都控制,挺方便的。

polygon()

学过svg或者canvas的都知道,这个是设置多边形的。

你可能不知道的css属性shape-outside

这个就灵活了,你想设置怎样的外围形状都可以。

到这里。我相信很多人都会说一句,卧x...,还可以这样。学了这个属性以后,你又可以搞一下华丽花哨的东西了,也填充了知识的空白。