CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

这篇具有很好参考价值的文章主要介绍了CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在日常开发当中,如果想要开发多边形,一般都需要多个盒子或者伪元素的帮助,有没有一直办法能只使用一个盒子实现呢?
有的:css裁剪

clip-path介绍

css裁剪(clip-path)这个属性平时率非常低。但是其实clip并不是CSS3的新属性,很早就开始出现了。CSS裁剪的这一概念最早是在CSS 2.1时代由clip属性引入,但该属性的限制非常多。裁剪初期只能应用于绝对定位的元素,并且只能裁剪成矩形。而在CSS3中,提供了强大的clip-path属性,突破了clip属性的众多限制。
clip-path能够让你指定一个网页元素的显示区域,而不是显示全部。在过去有个等效的属性clip,但在新的CSS规范中,它已经被标志为deprecated,用新的clip-path代替。

clip-path到底是什么?

clip-path 属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。clip-path是一个css3新属性 , 一般用在svg元素上 , 但是也可以作为普通元素裁剪使用。

clip-path属性

clip-path属性可以使用四种裁剪函数:circle()、ellipse()、inset()和polygon()。
  下面用一个例子来演示这四个函数的效果,将它们分别应用到四个div元素中,样式如下,得到的形状如下图所示。

circle():修建矩形的可视范围

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

clip-path: inset(10px 20px 30px 40px);
ellipse():修建圆形的可视范围

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

clip-path: circle(50%);
inset():修建椭圆形的可视范围

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

clip-path: ellipse(50% 30%);
polygon():修建任意多变形的可视范围

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

clip-path: polygon(0 0, 100px 0, 160px 200px, 0 200px);

案例

CSS实现一个鼓样式

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形
如果使用其他方法实现,需要使用到多个盒子,例如:

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形

像图中这样使用3个盒子。如果使用clip-path,只需要一个盒子+circle()。

div {
            background-color: blue;
            height: 200px;
            width: 400px;
            clip-path: circle(50%);

        }
CSS实现一个杠铃样式

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形
如果使用其他方法实现,需要使用到多个盒子,例如:

CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形
像图中这样使用3个盒子。如果使用clip-path,只需要一个盒子+polygon()。

div {
            width: 200px;
            height: 300px;
            background-color: red;
            clip-path: polygon(0 0,
                    0% 42%,
                    5% 42%,
                    5% 58%,
                    0 58%,
                    0 100%,
                    100% 100%,
                    100% 58%,
                    95% 58%,
                    95% 42%,
                    100% 42%,
                    100% 0);

        }

总结

相比于传统的clip属性只能作用于正方形的裁剪区域,clip-path可以以任意形状去裁剪元素,这使得设计师可以创建更为复杂和独特的裁剪效果。无论是绝对定位、固定定位还是相对定位的元素,都可以应用clip-path属性。由于clip-path的强大功能,它可以用于实现一些特殊的动画效果,如视差广告效果、菜单栏弹出效果等。通过使用clip-path,可以将复杂的形状和动画效果封装在CSS中,使得HTML结构和CSS样式更加清晰和易于维护。clip-path属性在大部分现代浏览器中都有良好的兼容性,这使得开发者可以放心地使用它来创建跨浏览器的独特视觉效果。

使用该属性能够完成的图形可能性非常高,许多样式不需要复杂的dom才能实现。只可惜现在还有部分浏览器不支持该功能。文章来源地址https://www.toymoban.com/news/detail-445575.html

到了这里,关于CSS奇思妙想之-利用CSS裁剪(clip-path)完成各种图形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 clip-path 绘制多种图形

    clip-path 是一个CSS属性,剪切路径,允许用不同的剪切方式创建元素的可显示区域,区域内的内容可以展示,区域外的内容则隐藏。 基本语法: clip-path: clip-source | [ basic-shape || geometry-box ] | none 。 其中,属性值分四类: clip-source 使用类函数 url() 引用 SVG 的 clipPath 元素。 basi

    2024年01月15日
    浏览(34)
  • 【pytorch】torch.clip() & torch.clamp() 数值裁剪

    这两个函数用法一样,效果也一样。 例子:

    2024年02月11日
    浏览(30)
  • 微信小程序 canvas画布clip()在ios端多次裁剪无效

    最近在使用canvas绘制用户电子名片时,由于第一次使用不够熟悉,在绘制名片时根据顺序需要先裁剪出名片的形状及边角圆; 然后再在卡片区域中绘制头像,由于头像需要裁剪一个斜角线,于是需要使用到clip()进行二次裁剪,裁剪后在安卓手机显示一切正常,但在ios端测试时

    2024年02月13日
    浏览(30)
  • 【Pytorch】梯度裁剪——torch.nn.utils.clip_grad_norm_的原理及计算过程

    众所周知,梯度裁剪是为了防止梯度爆炸。在训练FCOS算法时,因为训练过程出现了损失为NaN的情况,在github issue有很多都是这种训练过程出现loss为NaN,作者也提出要调整梯度裁剪的超参数,于是理了理梯度裁剪函数 torch.nn.utils.clip_grad_norm_ 的计算过程,方便调参。 torch.nn.u

    2024年02月12日
    浏览(38)
  • CSS文本裁剪

    在文本容器上定义 CSS Flexbox 属性  display: -webkit-box; 定义要显示的文本行数  -webkit-line-clamp: 4; 添加  -webkit-box-orient: vertical; 使用  overflow: hidden;  属性 方法一: 方法二: 两者可以结合使用,在只有单行文本时,使用方法一;在多行文本时,使用方法二。条件判断就是通过传

    2024年02月14日
    浏览(25)
  • (Arcgis)Python3.8批量裁剪利用shp文件裁剪tif栅格影像数据

    使用环境: pycharm2020 arcgis pro 中的python3.8 一、pycharm中设置python编译器。左上角“文件”——“设置”——找到python interpreter——找到arcgis pro安装文件夹中的python 使用arcgis pro原因 :自带 arcpy 库,不需要进行 pip install 安装。(我是有python官网上的,但是不知道为什么装不了

    2024年01月21日
    浏览(38)
  • C# wpf利用Clip属性实现截屏框

    第一章 使用GDI+实现截屏 第二章 制作截屏框(本章) ______第一节 使用DockPanel制作截屏框 ______第二节 利用Clip属性实现截屏框(本节) 第三章 实现截屏框热键截屏 第四章 实现截屏框实时截屏 第五章 使用ffmpeg命令行实现录屏 第一节已经实现过截屏框,实现方法相对简单,也仅

    2024年01月23日
    浏览(30)
  • 【计算机视觉】如何利用 CLIP 做简单的人脸任务?(含源代码)

    CELEBA 数据集( CelebFaces Attributes Dataset )是一个大规模的人脸图像数据集,旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成,提供了丰富的人脸属性标注信息。 以下是 CELEBA 数据集的一些详细信息: 规模: CELEBA 数据集包含超过 20 万张名

    2024年02月04日
    浏览(37)
  • 【计算机视觉】如何利用 CLIP 做简单的图像分类任务?(含源代码)

    要使用 CLIP 模型进行预测,您可以按照以下步骤进行操作: 安装依赖:首先,您需要安装相应的依赖项。您可以使用 Python 包管理器(如 pip )安装 OpenAI 的 CLIP 库。 导入所需的库,包括 clip (用于加载和使用 CLIP 模型)、 torch ( PyTorch 框架)和 PIL (用于图像处理)。 设置

    2024年02月16日
    浏览(32)
  • 利用yolov5进行目标检测,并将检测到的目标裁剪出来

    写在前面:关于yolov5的调试运行在这里不做过多赘述,有关yolov5的调试运行请看: https://www.bilibili.com/video/BV1tf4y1t7ru/spm_id_from=333.999.0.0vd_source=043dc71f3eaf6a0ccb6dada9dbd8be37 本文章主要讲解的是裁剪。 需求:识别图片中的人物并将其裁剪出来 如果只需识别人物的话,那么只需在y

    2024年02月02日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包