超级好用的css属性——clip-path

news2025/1/14 18:38:48

目录

基本概念

circle()函数

ellipse()函数

polygon()函数

path()函数

总结


clip-path是CSS3中的一个属性,用于在元素上创建一个裁剪区域,以显示元素的一部分。它允许您选择性地显示元素的某个部分,而隐藏其他部分。clip-path属性可以用于各种形状和图像,包括矩形、圆形、多边形和SVG图形等。

基本概念

clip-path 属性用于定义元素的裁剪区域,以控制哪些部分可见和哪些部分隐藏。它允许您使用不同的函数和参数来创建复杂的裁剪形状。

在 CSS 中,clip-path 属性可以使用不同的函数来定义裁剪区域。以下是一些常用的函数:

  1. circle():创建一个圆形裁剪区域。参数是半径和圆心的坐标。
  2. ellipse():创建一个椭圆形裁剪区域。参数是横轴和纵轴的半径以及圆心的坐标。
  3. polygon():创建一个多边形裁剪区域。参数是构成多边形的顶点坐标。
  4. path():使用 SVG 路径来定义裁剪区域。参数是路径的字符串表示形式。

让我们来看一个简单的示例来演示如何使用 clip-path 属性:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .test {
      width: 400px;
      height: 300px;
      background: url("https://www.w3schools.com/css/img_forest.jpg") 100% center/cover;
      clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    }
  </style>
</head>

<body>
  <div class="test"></div>
</body>

</html>

原本是长方形的图片只剩下菱形部分展示。

circle()函数

circle()函数接受两个参数:半径值和关键字at,紧随其后的是原点位置。半径值可以使用像素(px)或百分比(%)。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="200" height="200">  
    <circle cx="100" cy="100" r="80" clip-path="circle(50% at 100% 100%)" fill="blue" />  
  </svg>
</body>

</html>

在上面的代码中,我们创建了一个SVG图形,其中包含一个圆形元素。我们使用circle()函数来定义裁剪区域,该函数接受半径和圆心的坐标作为参数。在clip-path属性中,我们使用circle()函数来定义裁剪区域的形状,其中50%表示半径为元素宽度的一半。at后的坐标表示圆心的位置。

ellipse()函数

ellipse()函数接受三个参数:长轴半径、短轴半径和原点位置。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="200" height="200">  
    <ellipse cx="100" cy="100" rx="80" ry="40" clip-path="ellipse(50% 50% at 100% 100%)" fill="green" />  
  </svg>
</body>

</html>

在上面的代码中,我们创建了一个SVG图形,其中包含一个椭圆形元素。我们使用ellipse()函数来定义裁剪区域,该函数接受横轴半径、纵轴半径和圆心的坐标作为参数。在clip-path属性中,我们使用ellipse()函数来定义裁剪区域的形状,其中50%分别表示横轴和纵轴半径为元素宽度的一半。at后的坐标表示圆心的位置。

polygon()函数

polygon()函数接受一系列坐标点作为参数,每个坐标点由横纵坐标组成,并用空格分隔。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="200" height="200">  
    <polygon points="100,10 180,80 80,180 20,80" clip-path="polygon(0 0, 100% 0, 100% 100%, 0% 100%)" fill="yellow" />  
  </svg>
</body>

</html>

在上面的代码中,我们创建了一个SVG图形,其中包含一个多边形元素。我们使用polygon()函数来定义裁剪区域,该函数接受构成多边形的顶点坐标作为参数。在clip-path属性中,我们使用polygon()函数来定义裁剪区域的形状,其中四个点坐标表示一个四边形。

path()函数

path()函数接受一个SVG路径作为参数,该路径由一系列命令和坐标点组成。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <svg width="200" height="200">  
    <path d="M10,10 L190,10 L190,90 L10,90 Z" clip-path="path('M 10,10 L190,10 L190,90 L10,90 Z') " fill="red" />  
  </svg>
</body>

</html>

在上面的代码中,我们创建了一个SVG图形,其中包含一个路径元素。我们使用path()函数来定义裁剪区域,该函数接受一个路径的字符串表示形式作为参数。在clip-path属性中,我们使用了SVG路径命令来绘制一个从起始点到终止点的路径,其中 M表示移动到起始点,L表示从当前点绘制一条直线,Z表示关闭路径。以逆时针方向绘制路径将产生一个逆时针方向的多边形。

总结

clip-path属性中circle()、ellipse()、polygon()和path()的基本用法和参数。这些剪裁路径类型可以让你创建各种形状的剪裁效果,从而实现创意和有趣的视觉效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/998635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒!(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

要闻 |上海市测绘院一行领导莅临大势智慧考察交流

9月8日&#xff0c;上海市测绘院首席专家、博士后科研工作站站长顾建祥等一行莅临武汉大势智慧科技有限公司&#xff08;后简称“大势智慧”&#xff09;考察工作。大势智慧CEO黄先锋博士、CTO张帆博士等人陪同调研&#xff0c;并就新型基础测绘与实景三维上海建设展开座谈。 上…

京东API接口(商品详情页采集+关键词搜索商品列表):开启电商业务的新篇章

随着电子商务的飞速发展&#xff0c;京东作为国内领先的电商平台&#xff0c;提供了丰富的API接口&#xff0c;帮助开发者轻松集成电商功能&#xff0c;扩展业务范围。本文将介绍京东API接口的作用和价值&#xff0c;探讨适用场景&#xff0c;操作步骤&#xff0c;优势分析及应…

基于Linux的智能家居(工厂模式)

目录 1.项目概述 2.程序框架 3.函数准备 3.1需要函数知识点 3.2编码提醒 4.代码 5.注意事项 1.项目概述 控制端有两个&#xff0c;语音串口UART和Tcp通讯。 执行端有IO输出和IO输入。 2.程序框架 程序分为3部分-------------1.输入控制 2.输出设备 3.主函数-多线程…

【文末送书】Matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

《Python入门到精通》time模块详解,Python time标准库,time库函数大全

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 time模块详解 1、获取操作time.time() 获取时间戳(float)time.time_ns() 获取时间戳(int)time.thread_time()…

03JVM_类加载

一、类加载与字节码技术 1.类文件结构 2.字节码指令 3.编译期处理 4.类加载阶段 5.类加载器 6.运行期优化 1.类文件结构 类文件结构 1.1 魔数magic 介绍 每个java class文件的前4个字节是魔数&#xff1a;0x CAFEBABE。魔数作用在于分辨出java class文件和非java clas…

开学了,运营校园跑腿怎么样?

校园跑腿项目是当今市场上备受关注和追捧的一种新兴服务业。随着人们生活节奏的加快和需求多样化&#xff0c;校园跑腿项目在满足大众日常生活需求的同时也为创业者提供了巨大的商机。下面将从市场需求、竞争环境和发展前景三个方面&#xff0c;对校园跑腿项目的现状进行分析&a…

Unity实现2D游戏跟随摄像机(平滑移动)

文章目录 玩家角色脚本字段跟随逻辑 完整代码其他相关文章连接 玩家角色 首先创建一个可用的玩家角色&#xff0c;写好移动逻辑&#xff0c;如果要使用在Unity商店中购买的资源&#xff0c;可以点击Window菜单栏> Package Manager选项&#xff0c;来打开Package Manager窗口…

OSCP系列靶场-Esay-SunsetDecoy保姆级

OSCP系列靶场-Esay-SunsetDecoy保姆级 目录 OSCP系列靶场-Esay-SunsetDecoy保姆级总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试22-SSH端口的信息收集22-SSH端口版本信息与MSF利用22-SSH协议支持的登录方式22-SSH手动登录尝试(无)22-S…

离子风蛇是什么?

离子风蛇是一种坐立式静电消除器&#xff0c;可手动将蛇管变形使风蛇指向目标方向&#xff0c;让离子气流直流吹向目标表面&#xff0c;方便移动&#xff0c;适用于工厂车间、电子行业、半导体行业、薄膜、卷料、分切等行业。可安放于各种工作区域&#xff0c;除静电除尘效果好…

【大虾送书第九期】速学Linux:系统应用从入门到精通

目录 &#x1f36d;写在前面 &#x1f36d;为什么学习Linux系统 &#x1f36d;Linux系统的应用领域 &#x1f36c;&#xff11;.Linux在服务器的应用 &#x1f36c;&#xff12;.嵌入式Linux的应用 &#x1f36c;&#xff13;.桌面Linux的应用 &#x1f36d;Linux的版本选择 &a…

你不能不了解的Java23中设计模式之【抽象工厂模式】

目录 一.介绍抽象工厂模式 1.概念 2.结构&#xff1a; 抽象工厂模式包含以下角色&#xff1a; 3.工作原理&#xff1a; 4.应用场景&#xff1a; 抽象工厂模式适用于以下情况&#xff1a; 5.使用方法&#xff1a; 二.具体实例通过抽象工厂模式实现计算器 1.创建Maven工程…

【C++--类和对象】构造函数析构函数

先来介绍一下类和对象中的六个默认成员函数&#xff1a;构造函数&#xff0c;析构函数&#xff0c;拷贝构造&#xff0c;赋值重载&#xff0c;普通对象取地址重载&#xff0c;const修饰对象取地址重载 这六类函数都是在我们没有显示定义的时候&#xff0c;编译器会自己生成的函…

有什么好用的电容笔?apple pencil替代品推荐

近年来&#xff0c;电容笔越来越成为人们日常生活中常见的数码产品之一。电容笔的便捷性得到了消费者的认可。它逐渐取代无纸化书写。那么到底电容笔哪个品牌好呢&#xff0c;电容笔哪一款最好用呢&#xff0c;今天小编给大家总结几款市面好用的电容笔&#xff0c;让我们一起来…

什么是SPA单页面,优缺点是什么?如何实现?

目录 一、SPA的优点 二、SPA的缺点 三、SPA和MPA的区别 四、如何实现SPA应用 单页面应用程序&#xff08;SPA&#xff09;是一种基于Web的软件架构&#xff0c;其中只有一个页面&#xff0c;通过不同的路由和组件来展示不同的内容。SPA的应用非常广泛&#xff0c;例如在网页…

PCB layout在布线上的设计规范有哪些?

PCB Layout是一项技术活&#xff0c;也是经验活&#xff0c;良好的PCB Layout布线可帮助工程师确保最终的电路板性能、可靠性和制造质量&#xff0c;因此是很多电子工程师的学习重点&#xff0c;下面我们来盘点下PCB Layout关于布线的规范有哪些。 1、地管的引脚接地越短越好&a…

YOLO目标检测——路标数据集+已标注voc和yolo格式标签下载分享

实际项目应用&#xff1a;自动驾驶、视频监控和安防、物体识别和分类、城市规划和地理信息系统等等数据集说明&#xff1a;YOLO路标目标检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;图片格式为jpg&#xff0c;共900张图片&#xff0c;…

DPText-DETR: 基于动态点query的场景文本检测,更高更快更鲁棒 | 京东探索研究院

针对场景文本检测任务&#xff0c;近期基于DEtection TRansformer (DETR) 框架预测控制点的研究工作较为活跃。在基于DETR的检测器中&#xff0c;query的构建方式至关重要&#xff0c;现有方法中较为粗糙的位置先验信息构建导致了较低的训练效率以及性能。除此之外&#xff0c;…

Tomcat源码:CoyoteAdapter、Valve#invoke、ApplicationFilterChain

前文&#xff1a; 《Tomcat源码&#xff1a;启动类Bootstrap与Catalina的加载》 《Tomcat源码&#xff1a;容器的生命周期管理与事件监听》 《Tomcat源码&#xff1a;StandardServer与StandardService》 《Tomcat源码&#xff1a;Container接口》 《Tomcat源码&#xff1a…