CSS3中clip-path的用法简介

一、基本概念

刷新 QQ 空间动态时,发现一则广告,随着用户上下滑动动态列表,就会自动切换广告图片,这样的效果对移动端本就不大的屏幕来说,无疑是很精妙的考虑,这样的效果是怎么实现的呢?

接下来就说说这个效果的具体实现思路:

将两张图片通过定位,相对于图片容器堆叠在一起;

在图片容器的左上角或右下角选取一个圆心,绘制一个圆,不断加大圆的半径来显示第二张图片;

立即学习“前端免费学习笔记(深入)”;

上划下拉时,根据滑动速度动态改变圆的半径;

当图片容器距屏幕顶部或底部的距离为 0 时,则相应的改变图片堆叠顺序及圆心位置。

在图片上绘制圆,为什么就能显示出第二张图片呢?说到这里,就不得不说一下咱们今天的主角 clip-path,引用 MDN 上的描述:

clip-path属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的URL定义的路径或者外部svg的路径,或者作为一个形状例如circle().。clip-path属性代替了现在已经弃用的剪切 clip属性。

clip-path 的含义就是裁剪路径,通过指定的闭合路径或者形状,甚至是 SVG 中 clipPath 标签定义的形状,裁剪出部分需要保留的区域,这样网页中的布局实现可以是多种多样的。

在 clip-path 出现之前,CSS2.1 中的 clip 属性也有裁剪的效果,但是它只支持矩形,而且只对 position:absolute 或者 position:fixed 的元素生效,使用方式如下:

clip: rect(60px, 60px, 60px, 60px); // 标准写法clip: rect(60px  60px  60px  60px); // 兼容 ie 及 火狐浏览器

注意: rect 参数的顺序为 top、right、botton、left

所有主流浏览器都支持 clip 属性,在雪碧图( CSS Sprite )的展示仍然有它的用武之地,但是由于 clip 属性的局限性, clip 已经被 clip-path 代替。平常开发中我们可以使用 border、border-radius 等属性制作三角形、圆或圆角矩形等简单图案,clip-path 为我们提供了更多的可能,结合 SVG 的 path、animate 等标签可以制作更多的有趣的图案。

二、用法实践

clip-path 属性可以裁剪出很多图形,circle、ellipse、polygon、inset,同时也可以使用动画和 SVG 的 clipPath 标签。

圆 circle

clip-path: circle(25% at 50% 50%);

椭圆 ellipse

clip-path: ellipse(25% 25% at 50% 50%);

inset

clip-path: inset(35% 35% 35% 35% round 0 70% 0 70%);

多边形 polygon

clip-path: polygon(50% 0, 25% 50% ,75% 50%);

url

@@##@@ @@##@@
.contract { clip-path: url(#clip02); z-index:1;}

值得说明的是使用 SVG 的 clipPath 标签可以包裹 animate,其中 animate 标签的 attributeName 是指设置圆的半径,values 可以设置动画的帧,可以有多个值用分号分割,dur 是指动画的持续时间,repeatCount 是指动画的次数。

兼容性

目前 IE 和 Edge 都不支持这个属性。Firefox 仅部分支持 clip-path,部分支持是指只支持形状和 URL(#path) 内联SVG的语法。Chrome、Safari 和 Opera 需要使用 -webkit- 的前缀兼容此属性。不支持外部的 SVG 形状。更多兼容信息可以点击这里查看 clip-path 浏览器兼容情况。

三、经验总结

使用 URL(#path) 内联SVG 的方式,我们可以很轻易的裁剪出复杂的形状,也能够包含一些形象生动的动画效果,比如在扑克游戏出牌下注的倒计时上添加扇形遮罩,或是在矩形边缘添加倒计时进度,加载中的动画等等,都能够使用clip-path 属性巧妙的实现,同时在使用 clip-path 属性可以裁剪图形时可以灵活的使用相对单位。

相关推荐:

CSS的clip-path

详解CSS中的clip-path区域裁剪属性使用方法

基于clip-path的任意元素的碎片拼接动效_html/css_WEB-ITnose

CSS3中clip-path的用法简介CSS3中clip-path的用法简介

以上就是CSS3中clip-path的用法简介的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1609013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 00:31:18
下一篇 2025年12月24日 00:31:23

相关推荐

  • CSS3实现渐变文字效果

    本文主要和大家分享css3实现渐变文字效果,我们主要和大家分享两种方法,希望能帮助到大家。 一、方法一:借助mask-image属性 方法一下的文字渐变效果 相应的HTML代码如下: 天赐美妞 与HTML相对应的CSS代码如下: 立即学习“前端免费学习笔记(深入)”; .text-gradient …

    好文分享 2025年12月24日
    000
  • css3实现浏览器背景渐变方法代码

    本文主要和大家介绍介绍了css3编写浏览器背景渐变背景色的方法,我们会和大家分享这种渐变色背景实现的代码,希望能帮助到大家。 效果如下: 知识点:rgb全色循环算法,HEX与RGB颜色转换算法、CSS3颜色渐变,CSS3渐变色兼容ie方法,定时器与循环,函数封装,数组应用等。 css代码: *{ma…

    2025年12月24日
    000
  • css实现任意大小、方向和角度的箭头代码

    本文主要和大家介绍了使用css实现任意大小、任意方向和任意角度的箭头示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家。 网页开发中,经常会使用到 下拉箭头 ,右侧箭头 立即学习“前端免费学习笔记(深入)”; 这样的箭头。 一般用css来实现: { display:…

    2025年12月24日 好文分享
    000
  • 5种css实现左中右布局的方式

    本文主要和大家介绍了css布局实现左中右布局的5种方式的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家。 效果如下: 左中右布局 Document html *{ margin: 0; padding: 0; } article{ height: 100px; } s…

    2025年12月24日
    000
  • CSS的伪类内容生成

    这次给大家带来css的伪类内容生成,css的伪类内容生成的注意事项有哪些,下面就是实战案例,一起来看一下。 1、 通过 css 向已有的元素上增加新的文本(图片)内容选择器:    1、:before     向匹配元素之前增加生成的内容     定位到匹配元素开始的位置    2、:after  …

    好文分享 2025年12月24日
    000
  • CSS计数器与多列的使用

    这次给大家带来css计数器与多列的使用,css计数器与多列使用的注意事项有哪些,下面就是实战案例,一起来看一下。 通过css 定义一个计数器,在其他元素中可以使用该计数器生成的数字。属性:  1、 counter-reset   作用:用于定义计数器并设置初始值   如果不设置初始值,那么默认为0,…

    好文分享 2025年12月24日
    000
  • css文件格式化脚本的方法

    这次给大家带来css文件格式化脚本的方法,css文件格式化脚本的注意事项有哪些,下面就是实战案例,一起来看一下。 #!/usr/bin/python# -*- coding: UTF-8 -*-import sys,osdef format(ddt): ddt = ddt.replace(‘n’,’…

    2025年12月24日
    000
  • Css多行字符截取方法详解

    相信有很多同学在写前端页面的时候,都会遇到字符长了需要截取的问题,最简单的方法就是手动去截取,可这样又感觉太low了,今天晚上就来讲讲利用css进行字符的截取,不了解css是如何截取的同学可以和我们一起看看哦! 前言 最近在做响应式系统设计的时候遇到需要对标题进行多行文字截取的效果,如下图: 看似十…

    2025年12月24日 好文分享
    000
  • CSS实现动态气泡背景代码分享

    本文主要和大家介绍了css 动画实现动态气泡背景的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 今天的第一个任务是写个登录页面,老大给了我一个参(chao)考(xi)案例,大家点击链接就能看到。嗯,这个登录页面确实很简洁、大方,尤其是…

    2025年12月24日
    000
  • CSS3通过@keyframes创建动画

    本文主要和大家介绍了css3 @keyframes简单动画实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 定义: 通过 @keyframes 规则,能够创建动画。 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。 在动画过程…

    好文分享 2025年12月24日
    000
  • css3实现圆形旋转倒计时代码分享

    很多答题的h5界面上有旋转倒计时的效果,一个不断旋转减少的动画,类似于下图的这样。本文主要和大家介绍了css3 实现圆形旋转倒计时功能,需要的朋友可以参考下,希望能帮助到大家。 今天研究了下,可以通过border旋转得到。一般我们可以通过border得到一个四段圆。 See the Pen circ…

    2025年12月24日
    000
  • CSS 高级技巧汇总分享

    本文主要和大家分享CSS 高级技巧汇总,使用技巧会让人变的越来越懒,没错,我就是想让你变懒。下面是我收集的CSS高级技巧,希望你懒出境界。 1. 黑白图像 这段代码会让你的彩色照片显示为黑白照片,是不是很酷? img.desaturate { filter: grayscale(100%); -we…

    好文分享 2025年12月24日
    000
  • CSS内边距外边距代码详解

    本文主要和大家分享css之内边距与外边距,本文运用了多个实例与代码,希望能帮助到大家。 外边距: margin 左边距 margin-left:数值 | autoauto:即距离这个边最远的距离右边距: margin-right:数值 | auto上边距: margin-top:数值 这里不能用au…

    2025年12月24日 好文分享
    000
  • CSS的Word中的列表详解

    在word中,列表也是使用频率非常高的元素。在css中,列表和列表项都是块级元素。也就是说,一个列表会形成一个块框,其中的每个列表项也会形成一个独立的块框。所以,盒模型中块框的所有属性,都适用于列表和列表项。 除此之外,列表还有 3 个特有的属性 list-style-type、list-style…

    2025年12月24日
    000
  • css垂直居中实现代码

    本文主要和大家分享css垂直居中实现代码,希望本文css代码能帮助到大家。 1.如果是单行文本, line-height 的值和height相等 案例如下: 立即学习“前端免费学习笔记(深入)”; .verticle{ height: 100px; line-height: 100px;} 2.已知…

    好文分享 2025年12月24日
    000
  • 纯CSS实现波浪移动效果

    本文主要介绍了纯css实现波浪移动效果的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 在某些页面上常常看到波浪的效果,虽然只有装饰的作用,但是却让页面看上去更生动了,同时某些情况下也能起到进度条的作用,而波浪的形式却比普通进度条更美观有趣。 如…

    2025年12月24日
    000
  • css3怎么做幻灯片切换动画效果

    这次教大家的是怎样用css3做出幻灯片的切换动画效果,幻灯片的切换动画效果在很多情况下都可以用得到,今天就给大家一份幻灯片的切换动画效果的操作案例 html5 幻灯片切换动画 Black Widow Credits Credits Captain America Credits Credits Ir…

    好文分享 2025年12月23日
    000
  • 总结6个CSS3阴影使用方法介绍

    今天我们主要来探讨下css3阴影使用方法介绍,下面小编就为大家带来一篇让你掌握css3阴影小技巧(小编推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧。 1. CSS3的文字阴影—Text-Shadow 前段时间整理了CSS3中的渐变Gradient、透明度RGB…

    2025年12月23日
    000
  • css3圆角和圆角边框使用方法总结

    在css3出现之前,想要实现圆角的效果可以通过图片或者用margin属性实现,传统的圆角生成方案,需要多张图片作为背景图案。css3出现以后,就不需要浪费时间去制作多张图片了,大大的减少了工作量,提高了网页的性能,提升页面加载速度,并且增加了视觉的可靠性。既然说了css3中的圆角有这么多的优势,那么…

    2025年12月23日
    000
  • css,css3实现各种图片效果总结

    按照常规的理解,处理图像的效果都应该是设计师的工具,甚至这些事情应该都交给photoshop之类的设计软件来完成。但是随着css技术的发展以及css3的出现,各大厂商的浏览器的兼容性越来越好,利用css技术来处理和实现图片的各种效果变得越来越便捷。css及css3中的各种属性将很容易的帮助我们实现各…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信