返回顶部
首页 > 资讯 > 前端开发 > html >怎么用clip-path实现CSS形状变换
  • 386
分享到

怎么用clip-path实现CSS形状变换

2024-04-02 19:04:59 386人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么用clip-path实现CSS形状变换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用clip-path实现CSS形状变换”吧!

这篇文章主要讲解了“怎么用clip-path实现CSS形状变换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用clip-path实现CSS形状变换”吧!

css3的“clip-path”,这个“clip-path”看起来有点眼熟,因为它原本就存在于SVG里头,利用掩码(剪裁)的方法,连接坐标绘制掩码区域,就可以做出许多不同的形状,让底色或底图显现,随着浏览器对于CSS3的支持度大幅提升,自然而然的就可以用它来做些与众不同的变化。

运用clip-path超强的网站

最先看到这个属性的应用,是从这个网站看到的: species-in-pieces.com/ ,不得不说这个网站做得实在太神了,一开始看到还真以为是用SVG做的,没想到竟然是用CSS刻出来的…真是太惊人啦!

接着在找数据的过程中,又发现一个很强的网站: bennettfeely.com/clippy/ ,专门介绍「clip-path」这个CSS3的属性,你可以直接在上面拖拉或修改,除了贝兹曲线外,几乎任何形状都做得出来(中空的部分要用组合的)

怎么用clip-path实现CSS形状变换

使用clip-path绘制多边形

如果不考虑一些浏览器支持度的问题,使用clip-path来绘制多边形,还比利用伪元素还制作多边形来得简单许多,而且也可以做到单一div绘制超过八边形,使用伪元素的绘制是直接从长宽着手,而利用clip-path则是要由每个点的坐标着手,因为是座标点的缘故,要做出正多边形就也同样要用到许多基本的三角函式来计算坐标,以下就利用clip-path来绘制圆形、椭圆和正多边形给大家看看。

这里推荐一下我的前端学习交流扣qun:731771211 ,里面都是学习前端的,如果你想制作酷炫的网页,想学习编程。自己整理了一份2019最全面前端学习资料,从最基础的html+CSS+js【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5项目实战的学习资料都有整理,送给每一位前端小伙伴,每天分享技术

点击: 加入

开始绘制之前,有两点注意事项:

  • 使用clip-path要从同一个方向绘制,如果顺时针绘制就一律顺时针,逆时针就一律逆时针,因为polyGon是一个连续的线段,若线段彼此有交集,面积区域就会有相减的状况发生(当然如果这是你要的效果就无妨了)。

  • 如果绘制时采用「比例」的方式绘制,长宽就必须要先行设定,不然有可能绘制出来的长宽和我们想像的就会有落差,使用「像素」绘制就没有这种问题。

圆形circle(半径at圆心坐标)

.circle{
    width:100px;
    height:100px;
    background:#0cc;
    -WEBkit-clip-path:circle(50% at 50% 50%);
  }

怎么用clip-path实现CSS形状变换

椭圆形ellipse(长、短轴半径at圆心坐标)

 .ellipse{
    width:100px;
    height:100px;
    background:#aaa;
    -webkit-clip-path:ellipse(25% 50% at 50% 50%);
  }

怎么用clip-path实现CSS形状变换

内置矩形inset(上右下左的边距round上右下左圆角)

.inset{
    width:100px;
    height:100px;
    background:#99f;
    -webkit-clip-path:inset(10px 20px 30px 10px round 20px 5px 50px 0);
  }

怎么用clip-path实现CSS形状变换

image.png

正三角形

 .a{
    width:100px;
    height:87px;
    background:#c00;
    -webkit-clip-path:polygon(0% 100%, 50%  0%,100% 100%);
  }

怎么用clip-path实现CSS形状变换

image.png

正方形

.b{
    width:100px;
    height:100px;
    background:#069;
    -webkit-clip-path:polygon(0% 0%, 0% 100%,100% 100%,100% 0%);
  }

怎么用clip-path实现CSS形状变换

image.png

正五边形

正五边形就要计算一下了,59/(59+95)=38.31%,31/(81*2)=19.14%

.c{
    width:162px;
    height:154px;
    background:#095;
    -webkit-clip-path:polygon(0% 38.31%, 50% 0%,100% 38.31%,80.86% 100%,19.14% 100%);
  }

怎么用clip-path实现CSS形状变换

image.png

正六边形

正六边形的计算比较简单,50/(100+50

2)=25%,150/(100+50

2)=75%

.d{
    width:200px;
    height:174px;
    background:#f80;
    -webkit-clip-path:polygon(25% 0%, 75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  }

怎么用clip-path实现CSS形状变换

image.png

正七边形

正七边形是这里头需要计算最多的形状,22/(100+622)=10.09%,202/(100+622)=90.18%,43/(43+97+78)=19.72%,(43+97)/(43+97+78)=64.22%,62/(100+622)=27.68%,(100+62)/(100+622)=72.32%

.e{
    width:224px;
    height:218px;
    background:#09c;
    -webkit-clip-path:polygon(50% 0%, 90.18% 19.72%,100% 64.22%,72.32% 100%,27.68% 100%,0% 64.22%,10.09% 19.72%);
  }

怎么用clip-path实现CSS形状变换

image.png

正八边形

正八边形的计算如下,71/(100+712)=29.34%,(71+100)/(100+712)=70.66%

.f{
    width:242px;
    height:242px;
    background:#f69;
    -webkit-clip-path:polygon(29.34% 0%, 70.66% 0%,100% 29.34%,100% 70.66%,70.66% 100%,29.34% 100%,0% 70.66%,0% 29.34%);
  }

怎么用clip-path实现CSS形状变换

搭配clip-path做动画

熟练了clip-path之后,当然就要用它来做点动画,下面提供两个示例,第一个是正多边形的变换,第二个则是三角形的变换组合,虽然看起来很简单,但实际制作起来却要考虑每个点的坐标,为了让形状不要有「翻转」的错觉,形状里头每个点在进行移动的时候,尽可能的不要交错,因为只要一交错,就会有交集的空白产生,就会有不自然或是翻转的现象喔!当然同样的,如果你希望有翻转的效果,应该就要让他们交错啰!

正多边形的变换

怎么用clip-path实现CSS形状变换

三角形的变换组合

怎么用clip-path实现CSS形状变换

感谢各位的阅读,以上就是“怎么用clip-path实现CSS形状变换”的内容了,经过本文的学习后,相信大家对怎么用clip-path实现CSS形状变换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么用clip-path实现CSS形状变换

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

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

猜你喜欢
  • 怎么用clip-path实现CSS形状变换
    这篇文章主要讲解了“怎么用clip-path实现CSS形状变换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用clip-path实现CSS形状变换”吧!...
    99+
    2024-04-02
  • clip-path属性怎么在CSS中使用
    clip-path属性怎么在CSS中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。clip-path的使用polygon值为多个坐标点组成,坐标第一个值是x...
    99+
    2023-06-08
  • 怎么用css实现凸字形状
    这篇文章主要介绍了怎么用css实现凸字形状,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   代码在这儿:   <divclass...
    99+
    2024-04-02
  • C#中怎么实现鼠标形状变换效果
    C#中怎么实现鼠标形状变换效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。【C#鼠标形状变换效果的问题】:在一个form上存在一个图片,当用户点击图片的时候,图片会放大,...
    99+
    2023-06-17
  • 如何使用CSS的clip-path属性实现不规则图形的显示
    小编给大家分享一下如何使用CSS的clip-path属性实现不规则图形的显示,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!clip-pathCSS 属性使用裁剪方...
    99+
    2023-06-08
  • CSS怎么实现各种形状
    这篇文章给大家分享的是有关CSS怎么实现各种形状的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS实现各种形状的方法:1、圆形在设置CSS时要设置宽度和高度相等,然后设置【border-radius】属性为宽度...
    99+
    2023-06-14
  • CSS中clip-path区域裁剪属性怎么用
    这篇文章主要为大家展示了“CSS中clip-path区域裁剪属性怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS中clip-path区域裁剪属性怎么用...
    99+
    2024-04-02
  • 怎么在css中改变鼠标形状
    今天就跟大家聊聊有关怎么在css中改变鼠标形状,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。cursor 属性规定要显示的光标的类型(形状)。常用的一些属性值:default &nb...
    99+
    2023-06-15
  • Numpy的属性与形状变换怎么应用
    这篇文章主要讲解了“Numpy的属性与形状变换怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Numpy的属性与形状变换怎么应用”吧!一、最基本的属性...
    99+
    2024-04-02
  • HTML5 canvas怎么实现图形变换
    这篇文章主要介绍“HTML5 canvas怎么实现图形变换”,在日常操作中,相信很多人在HTML5 canvas怎么实现图形变换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • css怎么实现叶子形状loading效果
    本篇内容主要讲解“css怎么实现叶子形状loading效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css怎么实现叶子形状loading效果”吧!本文实例讲...
    99+
    2024-04-02
  • 怎么使用CSS实现各种奇形怪状按钮
    这篇文章主要介绍“怎么使用CSS实现各种奇形怪状按钮”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用CSS实现各种奇形怪状按钮”文章能帮助大家解决问题。先让我...
    99+
    2024-04-02
  • JS怎么利用clip-path实现动态区域裁剪功能
    这篇文章给大家介绍JS怎么利用clip-path实现动态区域裁剪功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。背景今天逛 CodePen,看到了这样一个非常有意思的效果:CodePen Demo -- Materi...
    99+
    2023-06-22
  • HTML5 canvas怎么实现图形变换效果
    这篇文章主要介绍“HTML5 canvas怎么实现图形变换效果”,在日常操作中,相信很多人在HTML5 canvas怎么实现图形变换效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 使用CSS怎么实现变形、过渡与动画
    这期内容当中小编将会给大家带来有关使用CSS怎么实现变形、过渡与动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、过渡 transition  过渡属性用法: transition :ran...
    99+
    2023-06-08
  • CSS中怎么实现一个图形变形弹出效果
    CSS中怎么实现一个图形变形弹出效果,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。弹出窗体是网页常用的一个交互设计,在这个注重交互动画体验...
    99+
    2024-04-02
  • 怎么用CSS绘制各种形状
    这篇文章主要为大家展示了“怎么用CSS绘制各种形状”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用CSS绘制各种形状”这篇文章吧。自适应的椭圆1.自适应的椭...
    99+
    2024-04-02
  • css怎么实现图片变成圆角矩形
    今天小编给大家分享一下css怎么实现图片变成圆角矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-12-16
    css
  • 怎么在css 中使用background-clip实现透明边框
    今天就跟大家聊聊有关怎么在css 中使用background-clip实现透明边框,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。<div class="bo...
    99+
    2023-06-08
  • 如何使用纯CSS实现单一div的正多边形变换
    这篇文章给大家分享的是有关如何使用纯CSS实现单一div的正多边形变换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   纯粹利用CSS,让“单一个”div,从正三角形变换为正...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作