iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >CSS没有边界的裁剪路径实例分析
  • 490
分享到

CSS没有边界的裁剪路径实例分析

2024-04-02 19:04:59 490人浏览 八月长安
摘要

今天小编给大家分享一下CSS没有边界的裁剪路径实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了

今天小编给大家分享一下CSS没有边界的裁剪路径实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

  在深入研究之前,我们应该先看看基本的形状和clip-path。裁剪路径可以将CSS Shapes如circle()、ellipse(), inset()或自由变化的polyGon()应用于任何元素。元素中不在形状边界内的任何内容都将被裁剪删除掉。

  使用多边形函数,我们可以创建三角形、星形或其他形状,虽然在可以使用px等固定单位,但百分比将提供更大的灵活性并自适应于元素的尺寸。

  所以对于一个八边形,我们可以设置八组x,y点坐标来定义。在这种情况下,对于第一个x,我们从盒子宽度的30%开始,对于y,我们从盒子的顶部开始,然后顺时针设置各个点。可见区域就是通过将这些点用直线连接而形成的形状。

  clip-path: polygon(

  30% 0%,

  70% 0%,

  100% 30%,

  100% 70%,

  70% 100%,

  30% 100%,

  0% 70%,

  0% 30%

  );

  看不见的顶点

  上面实现一个八边形,我们设置了八个点的坐标。但是,我们可以跳出元素框的限制去思考,也就是说要跳出0% - 100%的这个范围。

  元素的盒边框是裁剪后内容的显示边界,但我们仍然可以为元素定义超出盒边框的点。

  通过定义超过0%-100%范围的点,我们可以把一个有三个点的多边形变成四边形、五边形或六边形。在这个例子中,都是定义clip-path: polygon()函数的三个点,但是由于超出了元素框的边界,我们可以看到一个三角形和两个五边形。

  于是,上面的八边形只用四个点就可以实现。

  一条裁剪路径,多个形状

  我们可以利用超出元素边界的这种能力用一个polygon()创建多个裁剪形状。

  根据元素的位置,我们可以直接制作出每个形状,但是因为我们知道裁剪坐标点可以在元素框之外的空间中移动,所以可以绘制额外的线来帮助我们找到下一个点的位置。

  它还可以帮助我们分割元素。结合CSS自定义属性,我们可以处理重叠的元素,并将每个元素裁剪成交替的条带。下面的例子是两个重叠的圆角矩形,每个被分成不规则的矩形动画。

  不同的填充规则不同的形状

  polygon()函数不仅仅是一组坐标点的集合,它还有另外的一个参数 — [填充规则] ,我们一直使用的默认值是nonzero,它还有另外一个值是evenodd,这两个值它们确定形状的内部和外部的规则是不同的。

  当使用evenodd规则时,我们可以通过从任意的点绘制光线来确定点是在边界内还是在边界外。如果光线穿过裁剪路径线的和为偶数,则该点被视为外部,如果光线穿过裁剪路径线的和为奇数,则该点位于内部。

  顺序

  要注意的是,有许多CSS属性例如CSS Filters, Blend Modes等都会影响元素的外观。而这些效果会按下面的顺序应用到元素上:

  CSS Filters (例如 filter: blur(2px))

  Clipping (本文所讲的)

  Masking (类似与裁剪)

  Blend Modes (例如 mix-blend-mode: multiply)

  Opacity

  如果我们需要一个模糊的星星形状,模糊效果会发生在裁剪之前。由于模糊效果会参照元素的边框,但是我们将元素边框裁剪掉了,于是前一个星星的模糊效果会丢失。

  如果我们想模糊星星,可以选择将剪裁后的元素包裹在模糊的父元素中。内部元素将首先呈现其星星的形状,然后父元素将正常模糊其内容。

  通过动画来显示内容

  CSS Shapes是可以添加动画效果的,它允许我们在不影响元素内容的情况下改变元素的可视区域。例如,我们可以从内容隐藏(完全裁剪)开始,并增大裁剪路径以显示其中的内容。要注意的是,clip-path: polygon()动画形的一个重要条件是每个关键帧的坐标点数以及填充规则都必须相同。否则,浏览器将没有足够的信息来插入中间值。

以上就是“CSS没有边界的裁剪路径实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网JavaScript频道。

--结束END--

本文标题: CSS没有边界的裁剪路径实例分析

本文链接: https://www.lsjlt.com/news/93539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS没有边界的裁剪路径实例分析
    今天小编给大家分享一下CSS没有边界的裁剪路径实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • css中图片路径问题的示例分析
    这篇文章主要介绍css中图片路径问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在CSS文件里,有时要用到background,即加一个背景图片,一般在做按钮样式时会经常用到。 css中加背景图片根据图片...
    99+
    2023-06-08
  • css中运动路径动画Motion Path的示例分析
    这篇文章给大家介绍css中运动路径动画Motion Path的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。CSS 中有一个非常有意思的模块 -- CSS Motion Pat...
    99+
    2024-04-02
  • VB.NET路径选择对话框实现API的实例分析
    这篇文章给大家介绍VB.NET路径选择对话框实现API的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET 这门语言被我们大部分人所熟悉。但是今天在这里还是要介绍一下首先接受一下VB.NET,更主要的是...
    99+
    2023-06-17
  • HTML5 Canvas字符串,路径,背景,图片的实例分析
    本文小编为大家详细介绍“HTML5 Canvas字符串,路径,背景,图片的实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“HTML5 Canvas字符串,路径,背景,图片的实例分析”文章能帮助大家解...
    99+
    2024-04-02
  • DIV+CSS实现仿DreamWeaver界面图形菜单效果的示例分析
    这篇文章给大家分享的是有关DIV+CSS实现仿DreamWeaver界面图形菜单效果的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。这是一款DIV+CSS实现的图形菜单仿DreamWeaver效果,做了兼...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作