📜  css 剪辑路径 - CSS (1)

📅  最后修改于: 2023-12-03 15:30:10.834000             🧑  作者: Mango

CSS 剪辑路径 - CSS

CSS剪辑路径是一种CSS技术,可以将图像或其他元素裁切成特定的形状,例如圆形或三角形。CSS剪辑路径可以用作视觉效果或布局工具。

CSS剪辑路径语法

使用CSS剪辑路径时,需要将clip-path属性添加到CSS样式中,并将其设置为一个形状。以下是clip-path属性的语法:

clip-path: [ <clip-source> || <basic-shape> || <geometry-box> ] | none

clip-path属性有三个关键字,可以对其进行组合使用:

  1. clip-source: 表示将源图像裁剪成特定形状的区域。可以是以下三个值之一:

    • url():使用图像作为源图像;
    • element():使用另一个HTML元素的裁剪路径作为源图像;
    • basic-shape:使用内置的形状作为源图像。
  2. basic-shape: 表示使用内置的形状进行裁剪:

    • circle():裁剪为圆形;
    • ellipse():裁剪为椭圆形;
    • inset():裁剪为矩形并在其内部增加一个偏移量;
    • polygon():裁剪为带有给定角度的多边形。
  3. geometry-box: 表示应用裁剪的作用区域。

    • fill-box:裁剪填充区域;
    • stroke-box:裁剪边框区域;
    • view-box:裁剪视口区域。
剪辑路径示例

下面是一些使用clip-path属性的示例。我们将使用基本形状函数和自定义SVG路径来裁剪图像。

圆形裁剪
.clip-path {
  clip-path: circle(50%);
}

clip-path-circle

正方形裁剪
.clip-path {
  clip-path: inset(0 50% 50% 0);
}

clip-path-square

自定义SVG路径裁剪
.clip-path {
  clip-path: url(#custom-clip-path);
}
<svg height="0" width="0">
  <defs>
    <clipPath id="custom-clip-path" clipPathUnits="objectBoundingBox">
      <path d="M 0.5,0.1 C 0.1,0.5 0.1,0.9 0.5,0.9 S 0.9,0.5 0.5,0.1 Z" />
    </clipPath>
  </defs>
</svg>

clip-path-svg

兼容性

clip-path属性在大多数现代浏览器中都得到了支持,包括Chrome、Firefox、Safari和Microsoft Edge。但是,请确保为旧版浏览器提供替代方案。如果浏览器不支持该属性,则应忽略CSS剪辑路径,并使用备用方案(如矩形和多边形)。

结论

CSS剪辑路径是将图像和元素裁切为特定形状的简单方法,可以用作视觉效果或布局工具。它还具有灵活性,可以使用SVG路径等自定义路径,以及基本形状函数来裁剪。