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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解 C# 中的字符串比较:String.CompareTo vs String.Equals

深入理解 C# 中的字符串比较&#xff1a;String.CompareTo vs String.Equals 在处理字符串时&#xff0c;了解如何正确比较它们对于编写清晰、有效和可靠的 C# 程序至关重要。本文将深入探讨 C# 中的两个常用字符串比较方法&#xff1a;String.CompareTo 和 String.Equals&…

SAP MD04界面中增加功能按钮

通常在查看物料需求时,PMC用的最多的就是MD04的界面,在MD04界面中有很多的功能按钮,同时我们还可以新增功能按键的跳转。 1、我们先设置一下系统标准的在MD04界面中增加跳转的按钮 如下图:自有收藏夹—导航参数文件—维护 然后在MD04的界面中就可以看到我们刚才加的MM0…

QT应用篇 二、QML用Image组件实现Progress Bar 的效果

QT应用篇 一、QT上位机串口编程 二、QML用Image组件实现Progress Bar 的效果 三、QML自定义显示SpinBox的加减按键图片及显示值效果 文章目录 QT应用篇前言一、qml需求二、使用组件1.Image组件2.Image中fillMode的使用例子 总结 前言 记录自己学习QML的一些小技巧方便日后查找…

存算分离降本增效,StarRocks 助力聚水潭 SaaS 业务服务化升级

作者&#xff1a;聚水潭数据研发负责人 溪竹 聚水潭是中国领先的 SaaS 软件服务商&#xff0c;核心产品是电商 ERP&#xff0c;协同350余家电商平台&#xff0c;为商家提供综合的信息化、数字化解决方案。公司是偏线下商家侧的 toB 服务商&#xff0c;员工人数超过3500&#xf…

利用格式工厂,做视频的剪辑

接到一个工作&#xff0c;一段视频中&#xff0c;需要抠除其中某一段 其实 剪映、苹果手机的视频编辑功能&#xff0c;都可以轻松搞定 只是清晰度会有损伤 而且对于太大的视频&#xff0c;苹果手机就没法处理了。 很多软件在导出高清视频时&#xff0c;需要会员收费&#xff0…

**Python**综合案例

Python综合案例 一、系统需求分析 1、需求分析 使用面向对象编程思想完成学员管理系统的开发,具体如下: ① 系统要求:学员数据存储在文件中 ② 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。 2、角色…

闲来无事互相翻包,来看看我们的2023通勤EDC

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 EDC&#xff0c;Every Day Carry&#xff0c;顾名思义就是每天包里装的东西。 什么&#xff1f;难道除了…

零代码也能玩出花:Mugeda在H5设计中的魔法力量

文章目录 一、Mugeda零代码可视化H5设计工具简介二、Mugeda零代码可视化H5设计实战案例1. 注册并登录Mugeda账号2. 选择模板3. 编辑页面内容4. 添加动画效果5. 预览和发布 三、Mugeda零代码可视化H5设计的优势《Mugeda零代码可视化H5设计实战》内容简介作者简介目录前言/序言 随…

Python能做大项目(8) - Need for Speed! 高效编码之一

1. AI赋能的代码编写 传统上&#xff0c;IDE的重要功能之一&#xff0c;就是代码自动完成、语法高亮、文档提示、错误诊断等等。随着人类进入深度学习时代&#xff0c;AI辅助编码则让程序员如虎添翼。 我们首先介绍几个AI辅助编码的工具&#xff0c;然后再介绍常规的语法高亮…

[HUBUCTF 2022 新生赛]checkin

[HUBUCTF 2022 新生赛]checkin wp 进入页面&#xff0c;代码如下&#xff1a; <?php show_source(__FILE__); $username "this_is_secret"; $password "this_is_not_known_to_you"; include("flag.php");//here I changed those two…

基于Java+SpringBoot+vue实现图书借阅管理系统

基于JavaSpringBootvue实现图书借阅和销售商城一体化系统 &#x1f345; 作者主页 程序设计 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 文章目录 基于JavaSpringBootvue实现图书借阅和销售商城一体化…

TikTok年度回顾:2023年的亮点时刻

2023年&#xff0c;TikTok再次成为全球关注的焦点&#xff0c;不仅延续了其独特的社交媒体魅力&#xff0c;还在创新、文化影响力等方面取得了一系列令人瞩目的亮点时刻。本文将深入探讨TikTok在2023年的重要事件、创新举措以及对社会的深远影响。 创新功能引领社交潮流 TikTok…

python使用xpath解析html

一、安装包 pip install lxml二、读取 1、读取解析出来多条 from lxml import etree# HTML 或 XML 文档示例 html_content <html><body><div><p>Paragraph 1</p><a href"#">Link 1</a></div><div><p&…

2023-12-29 服务器开发-Centos部署LNMP环境

摘要: 2023-12-29 服务器开发-Centos部署LNMP环境 centos7.2搭建LNMP具体步骤 1.配置防火墙 CentOS 7.0以上的系统默认使用的是firewall作为防火墙&#xff0c; 关闭firewall&#xff1a; systemctl stop firewalld.service #停止firewall systemctl disable fire…

python读取eps矢量图片

再利用Image读取时&#xff0c;提示报错&#xff1a; OSError: Unable to locate Ghostscript on paths 解决办法&#xff1a; 首先要安裝ghostscript软件&#xff1a;Ghostscript : Downloads 安装后记住安装路径&#xff0c;并找到bin的文件夹 之后在使用时&#xff0c;在代…

linux SHELL语句

shell编程 shell编程 一、初识shell 程序 语言 编程语言 自然语言 汉语 英语 计算机语言 c语言cjava php python go shell 编译型语言 c c java解释型语言 php python bash (不能闭源&#xff0c;开发难度低) 编译型语言:运行编译型语言是相对于解释型语言存在的&#xff…

TVS 管选型与 ESD 防护设计

文章目录 ESD 防护设计 TVS管的基础特性 TVS管的选型方法 TVS管布局细节 参考文献 ESD 防护设计 静电防护设计是让电路板外接的各类金属按钮开关在接触到外界空气放电或接触放电时&#xff0c;在这种瞬间出现的大能量注入到电路板后&#xff0c;能够通过某种设计好的通道泄…

Springboot整合Elastic-job

一 概述 Elastic-Job 最开始只有一个 elastic-job-core 的项目&#xff0c;定位轻量级、无中心化&#xff0c;最核心的服务就是支持弹性扩容和数据分片&#xff01;从 2.X 版本以后&#xff0c;主要分为 Elastic-Job-Lite 和 Elastic-Job-Cloud 两个子项目。esjbo官网地址 Ela…

【满分】【华为OD机试真题2023CD卷 JAVAJS】API集群负载统计

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 API集群负载统计 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务…

CRM诞生到现在历经了哪些发展阶段?CRM系统的五个关键节点

CRM管理系统从被发明到现在&#xff0c;历经多次迭代已经成为一个相对成熟的系统。企业可以靠它管理客户信息&#xff0c;提升盈利能力。今天就来介绍一下CRM的发展历程。 一、CRM系统的雏形 广义上的CRM系统其实可以追溯到古希腊时期。当时的商人靠书写记录自己与客户和合作…