CSS 丝带形状效果

CSS 丝带形状效果如图:

在这里插入图片描述

通过CSS创建折叠丝带形状

这里代码应该比较清晰易懂,clip-path 的值应该也容易理解。要注意的是,我们使用了 color-mix()
函数,这个属性允许创建主颜色的深色版本。现在如果我们将元素旋转相反的方向,就会得到旋转的 CSS 丝带形状。

完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS 丝带形状</title><style>@property --a {syntax: "<angle>";initial-value: 0deg;inherits: true;}h1 {--r: 30px;--a: 15deg;--c: #384cff;line-height: 1.6;padding-inline: .5lh;color: #fff;background:linear-gradient(calc(90deg + var(--a)),#0000 calc(1lh*sin(var(--a)) - 1px),var(--c) calc(1lh*sin(var(--a))) calc(100% - 1lh*sin(var(--a))),#0000 calc(100% - 1lh*sin(var(--a)) + 1px));position: relative;rotate: calc(-1*var(--a));transform-style: preserve-3d;transition: --a .5s;cursor: pointer;white-space: nowrap;}h1.alt {--c: #beb100;rotate: var(--a);background:linear-gradient(calc(90deg - var(--a)),#0000 calc(1lh*sin(var(--a)) - 1px),var(--c) calc(1lh*sin(var(--a))) calc(100% - 1lh*sin(var(--a))),#0000 calc(100% - 1lh*sin(var(--a)) + 1px));}h1:before,h1:after {content: "";position: absolute;transform: translate3d(0, 0, -1px);rotate: var(--a);height: calc(1lh/cos(var(--a)));width: calc(100%*cos(var(--a)) - 1lh*sin(var(--a)));background: color-mix(in srgb, var(--c), #000 40%);pointer-events: none;}h1.alt:before,h1.alt:after {rotate: calc(-1*var(--a));}h1:before {right: 0;top: 0;transform-origin: top right;clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--r) 50%);}h1.alt:before {bottom: 0;top: auto;transform-origin: bottom right;}h1:after {left: 0;bottom: 0;transform-origin: bottom left;clip-path: polygon(0 0, 100% 0, calc(100% - var(--r)) 50%, 100% 100%, 0 100%);}h1.alt:after {top: 0;bottom: auto;transform-origin: top left;}h1:hover {--a: 0deg;}@supports not (height:1lh) {h1 {padding-inline: .8em;background:linear-gradient(calc(90deg + var(--a)),#0000 calc(1.6em*sin(var(--a)) - 1px),var(--c) calc(1.6em*sin(var(--a))) calc(100% - 1.6em*sin(var(--a))),#0000 calc(100% - 1.6em*sin(var(--a)) + 1px));}h1.alt {background:linear-gradient(calc(90deg - var(--a)),#0000 calc(1.6em*sin(var(--a)) - 1px),var(--c) calc(1.6em*sin(var(--a))) calc(100% - 1.6em*sin(var(--a))),#0000 calc(100% - 1.6em*sin(var(--a)) + 1px));}h1:before,h1:after {height: calc(1.6em/cos(var(--a)));width: calc(100%*cos(var(--a)) - 1.6em*sin(var(--a)));}}body {margin: 0;min-height: 100vh;display: grid;place-content: center;grid-auto-flow: column;gap: 50px;}h1 {font-family: sans-serif;text-transform: uppercase;font-size: 2.5rem;}</style>
</head><body><h1>I am a DHlsp</h1><h1 class="alt">I am a gridAuth</h1>
</body></html>

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

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

相关文章

web component - 使用HTML Templates和Shadow DOM构建现代UI组件

Web Component是一种用于构建可重用的UI组件的技术。它使用标准化的浏览器API&#xff0c;包括Custom Elements、Shadow DOM和HTML Templates来实现组件化开发方式。这些API都是现代浏览器原生支持的&#xff0c;因此不需要引入第三方库或框架即可使用。 在这篇博客中&#xf…

第7课 利用FFmpeg将摄像头画面与麦克风数据合成后推送到rtmp服务器

上节课我们已经拿到了摄像头数据和麦克风数据&#xff0c;这节课我们来看一下如何将二者合并起来推送到rtmp服务器。推送音视频合成流到rtmp服务器地址的流程如下&#xff1a; 1.创建输出流 //初始化输出流上下文 avformat_alloc_output_context2(&outFormatCtx, NULL, &…

极速文件搜索工具Everything结合内网穿透实现远程搜索本地文件

文章目录 前言1.软件安装完成后&#xff0c;打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前言 要搭建一个在线资料库&#xff0c;我们需要两个软件的支持&#xff0c;分别是cpolar&#xff08;用于搭建内网穿透数据隧道…

算法逆袭之路(1)

11.29 开始跟进算法题进度! 每天刷4题左右 ,一周之内一定要是统一类型 而且一定稍作总结, 了解他们的内在思路究竟是怎样的!! 12.24 一定要每天早中晚都要复习一下 早中午每段一两道, 而且一定要是同一个类型, 不然刷起来都没有意义 12.26/27&#xff1a; 斐波那契数 爬…

每日一题——LeetCode997

方法一 个人方法&#xff1a; 这题的意思就是1-n里面找到一个数&#xff0c;它不指向任何数&#xff0c;其他数都要指向它 找到没有指向任何数的那个idx&#xff0c;如果不存在这样的数那么就返回-1如果找到了这样的数&#xff0c;还要继续判断其它的所有数是否都指向它&…

适用于电脑的 8 款文件/软件迁移软件 – 快速安全地更换电脑!

将文件/软件从一台设备传输到另一台设备已成为我们日常生活的重要组成部分&#xff0c;无论是出于个人目的还是出于职业目的。在当今快节奏的世界中&#xff0c;我们经常需要在不同设备之间传输大文件&#xff0c;例如视频、照片、文档等。虽然云服务提供了一种共享文件的好方法…

2023-12-17 LeetCode每日一题(使用最小花费爬楼梯)

2023-12-17每日一题 一、题目编号 746. 使用最小花费爬楼梯二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你…

2024 React 后台系统 搭建学习看这一篇就够了(1)

年初&#xff0c;自己想写一篇关于 React 实战后台项目的 课程文章&#xff0c;也算是对自己 2023的前端学习做一个系统性总结&#xff0c;方便后续查阅&#xff0c;也方便自己浏览&#xff0c;还能增加自己的文笔 网上很多平台都不太稳定&#xff0c;所以用了阿里的语雀&…

Vue(三):Vue 生命周期与工程化开发

2023 的最后一篇博客&#xff0c;祝大家元旦快乐&#xff0c;新的一年一起共勉&#xff01; 06. Vue 生命周期 6.1 基本介绍 生命周期就是一个 Vue 示例从 创建 到 销毁 的整个过程&#xff0c;创建、挂载、更新、销毁 有一些请求是必须在某个阶段完成之后或者某个阶段之前执行…

前端:html+css+js实现CSDN首页

提前说一下&#xff0c;只实现了部分片段哈&#xff01;如下&#xff1a; 前端&#xff1a;htmlcssjs实现CSDN首页 1. 实现效果2. 需要了解的前端知识3. 固定定位的使用4. js 监听的使用4. 参考代码和运行结果 1. 实现效果 我的实现效果为&#xff1a; 原界面如下,网址为&…

Android 13 动态启用或禁用IPV6

介绍 客户想要通过APK来控制IPV6的启用和禁用&#xff0c;这里我们通过广播的方式来让客户控制IPV6。 效果展示 adb shell ifconfig 这里我们用debug软件&#xff0c;将下面节点置为1 如图ipv6已被禁用了 echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 修改 接下来…

【网络安全】upload靶场pass11-17思路

目录 Pass-11 Pass-12 Pass-13 Pass-14 Pass-15 Pass-16 Pass-17 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x…