来源:自学PHP网 时间:2018-02-08 10:48 作者: 阅读:次
[导读] CSS clip-path 属性用于指定使用一个基本图形或者内联或外部的SVG路径作为剪裁路径对元素进行裁剪。...
CSS clip-path 属性用于指定使用一个基本图形或者内联或外部的SVG路径作为剪裁路径对元素进行裁剪。 一条剪裁路径可以是一个CSS基本图形,或者是一条路径。剪裁路径定义一个区域,在这个区域之内的东西会被显示,而它之外的东西则会被屏蔽掉。 剪裁路径不会影响元素的固有形状,元素尺寸大小在剪裁之前和剪裁之后相同,不会对页面的其它元素照成影响。例如将一幅图片剪裁为一个不规则的形状,环绕在它周围的文字也不会沿形状分布: 如果你想使环绕的内容随着剪裁路径图形进行分布,可以使用 在元素的剪裁区域之外的部分不会接收鼠标事件,即剪裁区域之外的隐藏部分在鼠标滑过或鼠标点击的时候不会有任何响应事件。 使用CSS基本图形制作的剪裁路径可以制作CSS动画效果。剪裁路径可以从一个图形的一个状态过渡变化为另外一个状态。也就是说,一个路径动画只能是同一个形状从初始状态变化到结束状态。 属性只能在绝对定位的元素上使用,并且它只能使用 官方语法clip-path: <clip-source> | [ <basic-shape> || <geometry-box> ] | none /* 其中 */ <clip-source> = <url> /* SVG <clipPath> 元素的引用 */ <geometry-box> = <shape-box> | fill | stroke | view-box 参数:
应用范围
示例代码下面是 clip-path: polygon(15px 99px, 30px 87px, 65px 99px, 85px 55px, 122px 57px, 184px 73px, 198px 105px, 199px 150px, 145px 159px, 155px 139px, 126px 120px, 112px 138px, 80px 128px, 39px 126px, 24px 104px); clip-path: circle(70% at 0% 50%) padding-box; clip-path: inset(10px 20px 30px 40px round 10px) margin-box; clip-path: ellipse(farthest-side closest-side at 25% 25%); 一个三角形的剪裁路径: .element{ width: 800px; height: 448px; max-width: 100%; margin: 50px auto; background-image: url(img/bear.jpg); background-size: cover; -webkit-clip-path:polygon(0 100%, 50% 0, 100% 100%); clip-path:polygon(0 100%, 50% 0, 100% 100%); } 剪裁路径第一个点在元素的左下角位置(0 100%),移动到元素的50%位置(50% 0),然后第三个点位于元素的右下角位置(100% 100%),这三个点组成一个三角形的剪裁路径,得到如下图的效果: 一个圆形的剪裁路径: .element{ width: 800px; height: 800px; max-width: 100%; margin: 50px auto; background-image: url(img/little-girl.jpg); background-size: cover; -webkit-clip-path:circle(50% at 50% 50%); clip-path:circle(50% at 50% 50%); } 圆形函数的3个参数分别为:圆心的坐标(X值和Y值)以及半径。得到下图效果: 要制作椭圆形的剪裁效果,也非常简单: .element{ width: 800px; height: 448px; max-width: 100%; margin: 50px auto; background-image: url(img/bear.jpg); background-size: cover; -webkit-clip-path:ellipse(30% 20% at 50% 50%); clip-path:ellipse(30% 20% at 50% 50%); } 椭圆图形函数的4个参数表示:椭圆的x轴半径、y轴半径、定位椭圆位置的x坐标和y坐标,后面两个值用at关键字和前面两个值分开。 在线演示下面的几个例子分别使用CSS,内联SVG和外部SVG来制作
浏览器支持下面是 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com