分享一个玉质按钮

news2024/11/28 16:31:38

先看效果:
在这里插入图片描述
再看代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    * {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      --purple: #5b01ff;
      --dark-purple: #5c4dff;
      --white: #fff;
    }

    @font-face {
      font-family: "slava";
      src: url("https://matthieucaron.fr/static/slava-antipov-10809640af9a4997f777e8ed39e70f0e.ttf");
    }

    @property --c1 {
      syntax: "<percentage>";
      initial-value: 1%;
      inherits: false;
    }

    @property --c2 {
      syntax: "<percentage>";
      initial-value: 25%;
      inherits: false;
    }

    @property --t1 {
      syntax: "<percentage>";
      initial-value: 6%;
      inherits: false;
    }

    @property --t2 {
      syntax: "<percentage>";
      initial-value: 15%;
      inherits: false;
    }

    body {
      --c1: 1%;
      --t1: 6%;
      --t2: 15%;
      --c2: 25%;
    }

    @keyframes test {
      from {
        --c1: 1%;
        --t1: 17%;
        --t2: 27%;
        --c2: 37%;
      }

      to {
        --c1: 100%;
        --t1: 100%;
        --t2: 100%;
        --c2: 100%;
      }
    }

    .wrapper {
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s ease-in-out;
    }

    .container {
      padding: 3rem 25rem;
    }
    .container-02 {
      padding: 3rem 25rem;
      -webkit-mask-image: linear-gradient(
              65deg,
              #000 var(--c1),
              transparent var(--t1),
              transparent var(--t2),
              #000 var(--c2)
      );
      animation: 6s ease-in 0s infinite reverse test;
    }

    body {
      min-height: 100vh;
      width: 100%;
      background-color: var(--purple);
      display: grid;
      place-items: center;
    }

    button {
      border: none;
      cursor: pointer;
      display: inline-flex;
      height: auto;
      position: relative;
      overflow: hidden;
      transition: all 0.2s;
      color: var(--white);
      padding: 8px;
      border-radius: 200px;
      background: linear-gradient(180deg, #7a78ff, transparent);
      background-color: var(--dark-purple);
    }
    .inner-button {
      background: linear-gradient(180deg, #7a78ff, transparent);
      border-radius: 200px;
      background-color: var(--dark-purple);
      padding: 24px 104px;
      display: block;
    }

    .button-02 {
      border: none;
      display: inline-flex;
      height: auto;
      color: var(--white);
      padding: 9px 18px;

      box-shadow: rgb(0 0 0 / 50%) 0px 7px 8px -9px,
      rgb(64 56 255) 0px -8px 11px inset;
      border-radius: 200px;
      background-image: linear-gradient(
              hsl(238deg 100% 69%),
              hsl(238deg 100% 69%),
              #5e60fe 84%,
              #5b5dfe 90%,
              #3f3dff 100%
      );
    }
    .inner-button-02 {
      font-family: "slava", sans-serif;
      background-image: linear-gradient(
              hsl(0deg 0% 100% / 50%),
              #6f70fe 40%,
              #0008ff00 50%,
              #0005ff00
      );
      box-shadow: 2px -11px 2px -1px #ffffff0a;
      border-radius: 28px;
      background-color: transparent;
      padding: 10px 72px;
      display: block;
      font-size: 28px;
      line-height: 55px;
      color: #bd9eff;
    }

    @keyframes slidein {
      from {
        right: -300px;
        top: -60px;
        border-radius: 0px;
        filter: blur(10px);
        opacity: 0.3;
      }

      to {
        right: 500px;
        top: -92px;
        border-radius: 100px;
        filter: blur(32px);
        opacity: 0.6;
      }
    }

    .button-02.light {
      border: none;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      display: inline-flex;
      filter: brightness(1.05);
      height: auto;
      color: var(--white);
      padding: 9px 18px;

      box-shadow: #b8bcfe 1px 1px 0px 0px inset, #b8bcfeb0 1px 1px 1px inset;
      border-radius: 200px;
      background-image: linear-gradient(
              hsl(240deg 94% 73%),
              hsl(240deg 98% 74%),
              #7b7cff 84%,
              #7576ff 90%
      );
    }

    .inner-button-02.light {
      font-family: "slava", sans-serif;
      background-image: linear-gradient(
              hsl(0deg 0% 100% / 50%),
              #7b7bff 40%,
              #7576ff 50%
      );
      border-radius: 28px;
      background-color: transparent;
      padding: 10px 72px;
      display: block;
      font-size: 28px;
      line-height: 55px;
      color: #bd9eff;
    }

    .inner-button-02.light span {
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      background-image: url("https://image.shutterstock.com/image-illustration/white-black-glossy-background-blurred-260nw-1670612818.jpg");
      background-size: cover;
      background-position: center;
    }

  </style>
</head>
<body>

<div class="wrapper">
  <div class="container-02" style="position: absolute; z-index: 10;">
    <button class="button-02 normal">
      <span class="inner-button-02">Button</span>
    </button>
  </div>
  <div class="container" style="position: absolute; z-index: 5;">
    <button class="button-02 light">
      <span class="inner-button-02 light"><span>Button</span></span>
    </button>
  </div>
</div>
<p style="color:white;position:absolute;bottom:40px;left:0;right:0;font-family:Inter, sans-serif;text-align:center">
  Design by
  <a target="_top" href="https://blog.csdn.net/qq_35241329?type=blog" style="color:white;font-family:Inter,
   sans-serif">@TiMi先生</a></p>
</body>
</html>

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

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

相关文章

SpringBoot用线程池ThreadPoolExecutor处理百万级数据

SpringBoot用线程池ThreadPoolExecutor处理百万级数据 更多优秀文章&#xff0c;请扫码关注个人微信公众号或搜索“程序猿小杨”添加。 一、背景&#xff1a; 使用JDK线程池ThreadPoolExecutor多线程异步执行批量插入、更新等操作方法&#xff0c;提高百万级数据插入效率。 二…

Paper: Attention Is All You Need

目录 Abstract1 Introduction2 Background3 Model Architecture3.1 Encoder and Decoder Stacks3.2 Attention3.2.1 Scaled Dot-Product Attention3.2.2 Multi-Head Attention3.2.3 Applications of Attention in our Model 3.3 Position-wise Feed-Forward Networks3.4 Embedd…

4.4网络模型 4.5协议 4.6网络通信的过程

4.4网络模型 OSI七层参考模型 七层模型&#xff0c;亦称 OSI&#xff08;Open System Interconnection&#xff09;参考模型&#xff0c;即开放式系统互联。参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;…

DDR-SDRAM技术原理总结

DDR SDRAM 全称&#xff1a; Double Date Rate Synchronous Dynamic Random Access Memory 先说RAM&#xff08;Random Access Memory&#xff09;&#xff0c;字面意思&#xff1a;随机访问存储器&#xff0c;其特点是可任意访问一个内存地址&#xff0c;其访问时间是一样的&…

怎样在前端项目中使用MySQL模块操作数据库?

要想在项目中操作数据库&#xff0c; 首先要安装操作 MySQL 数据库的第三方模块(mysql)&#xff0c; 借助mysql 模块连接到 MySQL 数据库&#xff0c; 执行 SQL 语句&#xff0c;具体的流程如下图所示。 安装与配置 mysql 模块 安装 mysql 模块 mysql 模块是托管于 npm 上的第…

继承—JavaSE

文章目录 1.基础知识1.1继承的概念1.2语法 2子类对从父类继承下来的成员的访问2.1对成员变量的访问2.2对成员方法的访问 3.super关键字3.1访问父类的成员变量&#xff08;super.变量&#xff09;3.2访问父类的成员方法&#xff08;super.方法&#xff09;3.3调用父类的构造方法…

手把手教学Android游戏--轮船大战小游戏(文末有代码)

目录 1.1课程设计的目的 1.2本选题的内容要求 1.3 软件开发运行环境 2.1设计思路 2.2软件总体结构图 2.3主要功能模块的设计 3.1 开始界面模块 3.1.1进入游戏设计 3.1.2退出游戏设计 3.1.3开始界面主要代码 3.2 游戏主界面显示模块 3.2.1游戏界面设计 3.2.2游戏界面鱼雷、炸弹、…

【C++---面向对象预备】

C---面向对象预备 一 、内存的分区&#xff1a;1.1 代码区&#xff1a;1.2 全局区&#xff1a;1.3 栈区&#xff1a;1.4 堆区&#xff1a; 二 、引用&#xff1a;2.1、引用注意事项&#xff1a;2.2、引用作函数参数&#xff1a;2.3、引用作函数的返回值&#xff1a;2.4、引用的…

explain | 索引优化的这把绝世好剑,你真的会用吗?

对于互联网公司来说&#xff0c;随着用户量和数据量的不断增加&#xff0c;慢查询是无法避免的问题。 一般情况下如果出现慢查询&#xff0c;意味着接口响应慢、接口超时等问题&#xff0c;如果是高并发的场景&#xff0c;可能会出现数据库连接被占满的情况&#xff0c;直接导…

MAC电脑设置权限

​​​​​​​ click on your background to go to finderclick on go and go to folder /usrright click on local and do get infounlock the lock at the bottomclick sign and add your user to the list and give read/write privilegesclick on the gear sign at the …

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型&#xff1a; Map<String, Object> map new HashMap<>(); // 添加一些键值对 map.put("key1", 123); map.put("key2", true); map.put("key3", new Date())…

Android Studio入门

首先确保系统已经安装好JDK和Android SDK Android SDK的安装有两种方案 方案一&#xff1a;直接下载包安装 官网下载 国内下载 方案二&#xff1a;使用命令行工具进行安装 在Android Studio官网下载Command line tools 最新&#xff1a;如果使用 Android Studio&#xff0c;…

特征维度降维算法——平均影响值算法(MIV)免费MATLAB代码获取,西储大学数据为例

1. 原理概述 众所周知&#xff0c;常用的特征维度降维方法有主成分分析&#xff0c;因子分析法&#xff0c;平均值影响法。而平均影响值算法&#xff08;MIV&#xff09;是神经网络对输入变量进行降维的最好方法之一。 在神经网络模型实际应用中&#xff0c;由于没有明确的…

高压功率放大器的作用和用途是什么

高压功率放大器是一种用于产生高电压和高功率信号的电子设备&#xff0c;通常采用功率放大器电路来实现。它主要起到以下作用&#xff1a; 提供高电压信号 在一些应用中需要产生高电压信号&#xff0c;如高压变频器、医疗设备等。高压功率放大器可以提供稳定的高电压信号&#…

c4d云渲染几款好用的云渲染平台

C4D是指Maxon公司所开发的3D建模、动画和渲染软件Cinema 4D。它是一款非常流行的三维图形软件&#xff0c;被广泛用于电影、电视、游戏等领域中的动画制作、视觉效果、建筑可视化、工业设计、广告设计、虚拟现实等方面。其用户界面简单易用&#xff0c;功能丰富&#xff0c;可以…

之江实验室: 如何基于 JuiceFS 为超异构算力集群构建存储层 ?

今天&#xff0c;高性能计算结合人工智能技术正在推动科研创新。例如通过破解水稻基因密码推动作物育种从“试验选优”向“计算选优”发展&#xff0c;在医药领域快速分析分子与蛋白之间的相互作用&#xff0c;发现潜在的能够有效干预疾病发生的药物分子。 之江实验室就是上述科…

Apikit 自学日记: Apikit 如何发起测试

进入 API 文档详情页&#xff0c;点击上方 测试 标签&#xff0c;进入 API 测试页&#xff0c;系统会根据API文档自动生成测试界面并且填充测试数据。 填写请求参数 首先填写好请求参数。 请求头部 您可以输入或导入请求头部。批量导入的数据格式为 key : value &#xff0c;…

Linux之多线程(上)——Linux下的线程概念

文章目录 前言一、地址空间和页表1.二级页表2.例子 二、线程1.概念重新理解前面讲的进程&#xff1a;在内核的视角&#xff0c;进程是承担分配系统资源的基本实体。站在CPU角度&#xff0c;能否去识别当前调度的task_struct是进程还是线程&#xff1f;Linux下并不存在真正的线程…

漫谈程序员创业

很多程序员选择辞职创业&#xff0c;成为了自己公司的创始人或者合伙人。他们选择离开原有的公司&#xff0c;是因为想要实现自己的梦想&#xff0c;追求更高的创业成就。辞职创业是一项具有挑战性的决定&#xff0c;需要勇气、决心和毅力。一些成功的创业者通过坚持不懈和不断…

知乎视频发布软件使用方法视频

知乎视频发布软件使用方法视频&#xff0c;知乎批量发布软件效果怎么样 #小红书视频上传#抖音seo软件#网络推广#视频营销 软件有月卡、季卡、半年卡、年卡 【其中推荐&#xff1a;百家号 哔哩哔哩B站&#xff0c;微博等软件发帖】 服务时间&#xff1a;&#xff08;8&#xf…