clip-path 和 shape-outside 属性之间的区别
Difference between the clip-path and shape-outside properties
我知道 clip-path 用于在元素上创建遮罩,但我不确定 clip-path 和 shape-outside 之间的区别 属性 以及它们是否可以一起使用
CSS shape-outside 属性定义元素周围发生的情况,而 clip-path 应用于该元素。
所以如果你有一个 div 元素,它默认是一个块(取决于矩形或正方形)。您可以对 div 应用 50% 的边框半径,这将使它变圆,但圆形 div 周围的任何元素仍然看起来像一个盒子。如果您希望文本跟随圆的曲线,您需要将 shape-outside 属性应用于 div。
剪辑路径属性阻止显示元素的某些区域而不是显示完整区域。
理论上你可以根据你想要达到的结果一起使用它们。
圆圈 Div 显示其旁边的元素如何不围绕圆圈流动
<div class="wrapper">
<div id="circle"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Maxime illum iure ab minus. Fugiat necessitatibus consequatur
eos minus quo, tempora iusto ratione magnam quidem voluptate
molestiae minima dignissimos iste facere?
</p>
</div>
CSS
#circle{
width: 100px;
height: 100px;
background-color: red;
float: left;
border-radius: 50%;
}
.wrapper{
width: 300px;
}
显示文本如何围绕圆圈流动的元素。
<div class="wrapper">
<div class="circle"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Maxime illum iure ab minus. Fugiat necessitatibus consequatur
eos minus quo, tempora iusto ratione magnam quidem voluptate
molestiae minima dignissimos iste facere?
</p>
</div>
CSS
.wrapper{
width: 300px;
}
.circle {
height: 200px;
width: 200px;
border-radius: 50%;
background-color: #7db9e8;
margin: 0 25px 5px 0;
float: left;
-webkit-shape-outside: circle();
shape-outside: circle();
}
两者都"create invisible layers"但目的不同。
clip-path: 是"trim"一个元素在他上面创建一个遮罩,遮住你不想显示的部分。它不影响它周围的元素如何浮动(它们仍然有一个框作为参考)
shape-outside:在元素周围创建一个不可见层,它周围的在线元素从中浮动(它们现在有一个自定义形状作为参考)。 shape-outside 不会剪掉元素或影响其外观。
注意:在此图像中,您可以看到文本如何围绕创建的形状外部(紫色的)
浮动
两者可以完美结合使用
css-shapes-editor 是一个了不起的 extension/tool 可以帮助您使用这两个属性 https://www.youtube.com/watch?v=zdWsBZiGiZc
我知道 clip-path 用于在元素上创建遮罩,但我不确定 clip-path 和 shape-outside 之间的区别 属性 以及它们是否可以一起使用
CSS shape-outside 属性定义元素周围发生的情况,而 clip-path 应用于该元素。
所以如果你有一个 div 元素,它默认是一个块(取决于矩形或正方形)。您可以对 div 应用 50% 的边框半径,这将使它变圆,但圆形 div 周围的任何元素仍然看起来像一个盒子。如果您希望文本跟随圆的曲线,您需要将 shape-outside 属性应用于 div。
剪辑路径属性阻止显示元素的某些区域而不是显示完整区域。
理论上你可以根据你想要达到的结果一起使用它们。
圆圈 Div 显示其旁边的元素如何不围绕圆圈流动
<div class="wrapper">
<div id="circle"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Maxime illum iure ab minus. Fugiat necessitatibus consequatur
eos minus quo, tempora iusto ratione magnam quidem voluptate
molestiae minima dignissimos iste facere?
</p>
</div>
CSS
#circle{
width: 100px;
height: 100px;
background-color: red;
float: left;
border-radius: 50%;
}
.wrapper{
width: 300px;
}
显示文本如何围绕圆圈流动的元素。
<div class="wrapper">
<div class="circle"></div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Maxime illum iure ab minus. Fugiat necessitatibus consequatur
eos minus quo, tempora iusto ratione magnam quidem voluptate
molestiae minima dignissimos iste facere?
</p>
</div>
CSS
.wrapper{
width: 300px;
}
.circle {
height: 200px;
width: 200px;
border-radius: 50%;
background-color: #7db9e8;
margin: 0 25px 5px 0;
float: left;
-webkit-shape-outside: circle();
shape-outside: circle();
}
两者都"create invisible layers"但目的不同。
clip-path: 是"trim"一个元素在他上面创建一个遮罩,遮住你不想显示的部分。它不影响它周围的元素如何浮动(它们仍然有一个框作为参考)
shape-outside:在元素周围创建一个不可见层,它周围的在线元素从中浮动(它们现在有一个自定义形状作为参考)。 shape-outside 不会剪掉元素或影响其外观。
两者可以完美结合使用
css-shapes-editor 是一个了不起的 extension/tool 可以帮助您使用这两个属性 https://www.youtube.com/watch?v=zdWsBZiGiZc