Clip使用

简单使用 

img {width: 300px;height: 300px;clip-path: polygon(50% 0%, 0% 100%, 100% 100%)
}

图片如下: 

img {width: 300px;height: 300px;clip-path: polygon(0% 0%, 100% 100%, 50% 100%)
}

 图片如下:

 我们给出对应的点,浏览器就能进行剪裁。原点为左上角,x轴横着向右、y轴竖着向下

该网站可以非常方便的得到你想要的形状

案例一

 

    <div class="loader"><span class="top-half">Loading</span><span class="bottom-half">Loading</span></div>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;
}.loader {width: 300px;height: 60px;border: 7px solid #0a3d62;border-radius: 10px;text-align: center;line-height: 60px;position: relative;overflow: hidden;
}span {position: absolute;left: 0;top: 0;width: 100%;height: 100%;text-transform: uppercase;font-weight: 600;font-size: 48px;
}.top-half {color: #ee5253;clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);animation: split 2s linear infinite;
}.bottom-half {color: #0a3d62;clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);animation: split 2s linear infinite reverse;
}@keyframes split {0% {transform: translateX(100%);}40% {transform: translateX(0%);}60% {transform: translateX(0%);}100% {transform: translateX(-100%);}
}

 案例二

    <div class="wave"><h2>wave</h2><h2>wave</h2></div>

 

body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #2f2f2f;
}.wave {width: 500px;height: 500px;position: relative;
}h2 {position: absolute;text-align: center;line-height: 500px;text-transform: uppercase;font-size: 170px;
}h2:nth-child(1) {color: #7efff5;
}h2:nth-child(2) {color: #03a9f4;clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);animation: wave 2s ease infinite;
}@keyframes wave {0% {clip-path: polygon(0 48%,18% 52%,35% 58%,56% 59%,79% 60%,100% 55%,100% 100%,0 100%);}50% {clip-path: polygon(0 55%,15% 62%,40% 60%,61% 58%,79% 53%,100% 45%,100% 100%,0 100%);}100% {clip-path: polygon(0 48%,18% 52%,35% 58%,56% 59%,79% 60%,100% 55%,100% 100%,0 100%);}
}

案例三

    <div class="container"><div class="clip clip1"></div><div class="clip clip2"></div><div class="clip clip3"></div></div>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #2f2f2f;
}.container {position: relative;width: 800px;height: 500px;background-color: #222;
}.clip {position: absolute;top: 0;left: 0;width: 100%;height: 100%;transition: all 0.5s;box-sizing: border-box;
}.clip1 {background: url(./img/1.jpg);background-size: cover;background-position: center;clip-path: polygon(0 0, 21% 0, 45% 100%, 0 100%);transform: translateX(-2px);
}.clip2 {background: url(./img/2.jpg);background-size: cover;background-position: center;clip-path: polygon(16% 0, 85% 0, 70% 100%, 33% 100%);
}.clip3 {background: url(./img/3.jpg);background-size: cover;background-position: center;clip-path: polygon(83% 0, 100% 0, 100% 100%, 63% 100%);
}.container:hover .clip {clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}.container .clip:hover {clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

案例四

    <div class="card"><h1>information</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Pariaturmolestiae incidunt consectetur non quas. Eum laudantium deleniti quisquos consequatur ipsam fugit nisi? Ea ratione, facere rem dolore minusquod.</p></div>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;
}.card {width: 500px;height: 250px;background-color: #c7ecee;padding: 20px 80px 20px 20px;border-radius: 10px;clip-path: circle(7% at 93% 20%);transition: all 0.5s;
}h1 {margin-bottom: 20px;
}p {font-size: 18px;
}.card:hover {clip-path: circle(70.7% at 50% 50%);
}

案例五

    <div class="main"><h1>black</h1><h1>white</h1></div>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #c8d6e5;
}.main {position: relative;width: 800px;
}h1 {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);margin: 0;padding: 0;width: 100%;text-align: center;font-size: 220px;text-transform: uppercase;transition: all 0.5s;
}h1:nth-child(2) {color: white;clip-path: polygon(0 0, 100% 0%, 100% 0, 0% 100%);background-color: #c8d6e5;
}h1:nth-child(2):hover {clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
}h1:nth-child(1):hover ~ h1:nth-child(2) {clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
}

案例六

      <div class="content"><h2>title</h2><p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Similiquedolorum optio nihil soluta dignissimos dicta esse enim rem magnam</p></div>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #c8d6e5;
}.main {position: relative;width: 800px;
}.card {width: 335px;height: 580px;position: relative;
}.img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;transition: all 0.5s;clip-path: circle(70.7% at 50% 50%);
}img {width: 100%;
}.card:hover .img {clip-path: circle(13.9% at 50% 35%);
}.content {position: absolute;left: 0;bottom: 100px;text-align: center;
}h2 {padding: 0;margin: 0;text-transform: uppercase;
}h2,
p {transform: translateY(20px);transition: 0.3s;opacity: 0;
}.card:hover h2,
.card:hover p {opacity: 1;transform: translateY(0);transition-delay: 0.5s;
}

案例七

 <ul><li><a href="#" data-text="home">home</a></li><li><a href="#" data-text="about">about</a></li><li><a href="#" data-text="services">services</a></li><li><a href="#" data-text="team">team</a></li><li><a href="#" data-text="contact">contact</a></li></ul>
body {margin: 0;padding: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #c8d6e5;
}ul {margin: 0;padding: 0;
}li {list-style: none;margin: 10px 0px;position: relative;overflow: hidden;
}a {text-decoration: none;display: block;margin: 0;text-align: center;text-transform: uppercase;font-size: 60px;font-weight: 900;position: relative;padding: 5px 10px;color: transparent;
}a:before {content: attr(data-text);position: absolute;top: 0;left: 0;width: 100%;color: #262626;padding: 5px 0;clip-path: polygon(0 0, 100% 0%, 100% 50%, 0 50%);transition: all 0.5s;transition-delay: 0.25s;
}a:after {content: attr(data-text);position: absolute;top: 0;left: 0;width: 100%;color: #262626;padding: 5px 0;clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);transition: all 0.5s;transition-delay: 0.25s;
}a:hover:before {color: rgb(160, 0, 0);transform: translate(10px, -3px);
}a:hover:after {color: rgb(160, 0, 0);transform: translate(-10px, 3px);
}li:before {content: "";position: absolute;top: 50%;transform: translateY(-50%);width: 100%;height: 1px;background-color: #262626;transition: all 0.5s;left: -100%;
}li:hover:before {left: 100%;
}

案例八

    <a href=""><span>button</span><span>button</span></a>
@import url("https://fonts.googleapis.com/css?familt=poppins:200,300,400,500,600,700,800,900&display=swap");
* {margin: 0;padding: 0;box-sizing: border-box;font-family: "poppins", sans-serif;
}body {height: 100vh;display: flex;justify-content: center;align-items: center;background-color: #222;
}a {width: 180px;height: 60px;position: relative;
}a span {position: absolute;top: 0;left: 0;width: 100%;height: 100%;color: white;background-color: #4834d4;text-align: center;line-height: 60px;/* display: flex;justify-content: center;align-items: center; */text-transform: uppercase;letter-spacing: 2px;font-size: 22px;
}span:nth-child(2) {color: #4834d4;background-color: white;clip-path: polygon(60% 0, 100% 0, 100% 100%, 60% 100%, 38% 51%);transition: all 0.5s;
}/* span:nth-child(1) {transition: all 0.5s;
} */span:nth-child(2):hover {clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 0 53%);
}span:nth-child(1):hover ~ span:nth-child(2) {clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%, 100% 57%);
}

案例九

    <section><div class="box box1"><h2><span>Bye Bye</span><span>2030</span></h2></div><div class="box box2"><h2><span>Happy New Year</span><span>2031</span></h2></div></section>
@import url("https://fonts.googleapis.com/css?familt=poppins:200,300,400,500,600,700,800,900&display=swap");
* {margin: 0;padding: 0;box-sizing: border-box;font-family: "poppins", sans-serif;
}body {overflow: hidden;
}section {width: 100%;height: 100vh;position: relative;
}.box {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;
}.box2 {background-color: #4cb979;clip-path: polygon(0 0, 100% 0%, 100% 50%, 0 50%);
}h2 {font-size: 45px;display: flex;flex-direction: column;align-items: center;gap: 10px;transform: translateY(-70%);animation: textMove 3s ease-in-out infinite;
}.box2 h2 {color: #fff;
}span:nth-child(2) {line-height: 1em;font-size: 2em;
}@keyframes textMove {0%,45% {transform: translateY(-70%);}55%,90% {transform: translateY(70%);}100% {transform: translateY(-70%);}
}

clip-path做动画,就是依靠“重叠遮盖、窗口显露”,利用元素互相遮挡、clip-path撕开口子显示不同的内容,再利用transition或者animation做出来的

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 11g中如何快速设置表分区的自动增加

在很多业务系统中&#xff0c;一些大表一般通过分区表的形式来实现数据的分离管理&#xff0c;进而加快数据查询的速度。分区表运维管理的时候&#xff0c;由于人为操作容易忘记添加分区&#xff0c;导致业务数据写入报错。所以我们一般通过配置脚本或者利用oracle内置功能实现…

Rnnoise和SpeexDsp两种降噪方式有什么区别?

在蒙以CourseMaker 7.0软件中&#xff0c;增加了两种降噪模式&#xff0c;一种是Rnnoise&#xff0c;一种是SpeexDsp&#xff0c;这两种降噪模式有什么区别呢&#xff1f; Rnnoise 基于神经网络。当噪声与 rnnoise 的模型训练的噪声匹配时&#xff0c;它的效果非常好。比如说&…

Android 使用 Canvas 和 Paint 实现圆角图片

学习笔记 效果展示: 全部代码: public class YuanActivity extends AppCompatActivity {private ActivityYuanBinding binding;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 通过 DataBinding 获取布局文件binding …

Android SurfaceFlinger layer层级

壁纸作为显示的最底层窗口它是怎么显示的 1. SurfaceFlinger layer层级 锁屏状态dump SurfaceFlinger &#xff0c;adb shell dumpsys SurfaceFlinger Display 0 (active) HWC layers: -----------------------------------------------------------------------------------…

【机器学习】机器学习的基本分类-监督学习-Lasso 回归(Least Absolute Shrinkage and Selection Operator)

Lasso 回归是一种线性回归方法&#xff0c;通过引入 ​ 正则化&#xff08;绝对值惩罚项&#xff09;约束回归系数&#xff0c;既能解决多重共线性问题&#xff0c;又具有特征选择能力。 1. Lasso 回归的目标函数 Lasso 的目标是最小化以下损失函数&#xff1a; 其中&#xff…

如何防御ARP欺骗 保护IP安全

在数字化浪潮席卷全球的今天&#xff0c;网络安全威胁如同暗流涌动&#xff0c;时刻考验着我们的防范能力。其中&#xff0c;ARP欺骗攻击作为一种隐蔽性强、成本低廉且危害严重的网络攻击手段&#xff0c;成为众多网络安全事件中的一颗“毒瘤”。那么我们究竟是如何防御ARP欺骗…

子网划分实例

看到有人问这个问题&#xff1a; 想了一下&#xff0c;这是一个子网划分的问题&#xff1a; 处理方法如图&#xff1a; 这是一个子网划分的问题 设备1用三层交换机&#xff0c;端口设置为路由模式&#xff0c;设备2和设备3为傻瓜交换机模式 设备2和设备3下挂设备都是26为掩码&…

消息中间件-Kafka3-kafkaJavaClient小例

消息中间件-Kafka3-kafkaJavaClient小例 Kafak Java Client private static final String KAFKA_TOPIC "kafak-test";private static String bootstrapServers "localhost:9092";private static AdminClient client null;static {Properties config n…

怎么获取Java高并发经验与系统设计技能?

如何获得高并发经验&#xff1f; 这是系统邀请我回答的一个问题&#xff0c;由此也引发了我的一些思考&#xff1a;为什么人人都想要获得高并发经验&#xff1b;想拥有高并发系统设计技能&#xff1f; 其原因LZ认为主要有以下三点&#xff1a; 涨薪&#xff1a;有高并发系统设…

【Java】类似王者荣耀游戏

r77683962/WangZheYouDianRongYao 运行效果图&#xff1a; 类似王者荣耀游戏运行效果图_哔哩哔哩_bilibili

HTML Input 文件上传功能全解析:从基础到优化

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【项目实战】基于python+爬虫的电影数据分析及可视化系统

注意&#xff1a;该项目只展示部分功能&#xff0c;如需了解&#xff0c;文末咨询即可。 本文目录 1.开发环境2 系统设计 2.1 设计背景2.2 设计内容 3 系统页面展示 3.1 用户页面3.2 后台页面3.3 功能展示视频 4 更多推荐5 部分功能代码 5.1 爬虫代码5.2 电影信息代码 1.开发环…

生活大爆炸版石头剪刀布(洛谷P1328)

生活大爆炸版石头剪刀布(洛谷P1328) [NOIP2014 提高组] 前言&#xff1a; 由于洛谷发布题解有限制&#xff0c;所以在CSDN上发布洛谷题解。 所有题解均是Java语言, 但是思路是相同的 每篇都是刷题日常&#xff0c;尽量讲清楚算法逻辑。 希望有问题还请大佬们指导&#xff01; …

Linux安装Python2.7.5(centos自带同款)

卸载已安装的python,防止版本兼容问题 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps 删除残余文件 whereis python |xargs rm -frv 安装前提是已安装gcc和g gcc --version g --version 下载安装python2.7.5 https://www.python.org/downloads/release/pyt…

【CKA】Kubernetes(k8s)认证之CKA考题讲解

CKA考题讲解 0.考试101 0.1 kubectl命令⾃动补全 在 bash 中设置当前 shell 的⾃动补全&#xff0c;要先安装 bash-completion 包。 echo "source <(kubectl completion bash)" >> ~/.bashrc还可以在补全时为 kubectl 使⽤⼀个速记别名&#xff1a; al…

微信小程序uni-app+vue3实现局部上下拉刷新和scroll-view动态高度计算

微信小程序uni-appvue3实现局部上下拉刷新和scroll-view动态高度计算 前言 在uni-appvue3项目开发中,经常需要实现列表的局部上下拉刷新功能。由于网上相关教程较少且比较零散,本文将详细介绍如何使用scroll-view组件实现这一功能,包括动态高度计算、下拉刷新、上拉加载等完整…

PHP语法学习(第六天)-条件语句,关联数组

&#x1f4a1;依照惯例&#xff0c;回顾一下昨天讲的内容 PHP语法学习(第五天)主要讲了PHP中的常量和运算符的运用。 &#x1f525; 想要学习更多PHP语法相关内容点击“PHP专栏” 今天给大家讲课的角色是&#x1f34d;菠萝吹雪&#xff0c;“我菠萝吹雪吹的不是雪&#xff0c;而…

java中的数组(2)

大家好&#xff0c;我们今天继续来看java中数组这方面的知识点&#xff0c;那么话不多说&#xff0c;我们直接开始。 一.数组的使用 1.数组中元素访问 数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,数组可以通过下标访问其任意位置的元素. 也可以进行修改…

数据结构 (36)各种排序方法的综合比较

一、常见排序方法分类 插入排序类 直接插入排序&#xff1a;通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。希尔排序&#xff1a;是插入排序的一种改进版本&#xff0c;先将整个待排序的记录序列分割成为…

计算机网络安全 —— 实体鉴别与生成大随机数

一、实体鉴别# ​ 实体鉴别&#xff08;经常简称为鉴别&#xff09;就是一方验证另一方身份的技术。一个实体可以是人、客户/服务器进程等。这里仅讨论如何鉴别通信对端 实体的身份&#xff0c;即验证正在通信的对方确实是所认为的通信实体&#xff0c;而不是其他的假冒者。进…