CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效
CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效
今天给大家分享一个纯CSS按钮水晶按钮,效果很赞,希望对大家有所帮助。
本例图片

案例分析
这个按钮看起来效果很赞,我们分析一下它由几个层组成:
1. 按钮本体:渐变层+按钮文字
2.用before伪元素实现高光层+内部阴影变实现的白色内发光。
3.用after伪元素实现在按钮上一闪而过的滑动的白色透明光条。
布局代码
<button class="base">超酷的水晶按钮</button>
基础样式
:root{ --main-bg-color: #000; --color:#000; --hover-color:#993399; } button{ margin: 0.3em; outline: 0; border: none; } .base{ position: relative; padding: 1rem 3rem; /* 用 padding 撑起按钮的宽度和高度 ,并确保了按钮文字水平方向居中 */ font-family: "微软雅黑", sans-serif; font-size: 1.5rem; line-height: 1.5rem; /* 行高和字号大小相等,可以实现按钮文字在按钮内垂直居中 */ font-weight:700; color: var(--color); /* 文字颜色为预定义的前景色 */ cursor: pointer; /* 鼠标移动到按钮上时候的形状:手型 */ user-select: none; /* 让用户不能选择按钮上的文字 */ white-space: nowrap; /* 避免英文单词间的空格导致文字换行 */ border-radius: 2rem; text-decoration: none; text-transform:uppercase; /* 字母自动修正为大写 */ transition: all .5s; /* 按钮响应动画效果的持续时间 */ margin: 1.5rem 2rem; }
按钮样式,Let's do it!
首先,我们来实现按钮的基本样子:
:root{--main-bg-color: #000;--color:#000;--hover-color:#993399;
}
button{margin: 0.3em;outline: 0;border: none;
}
.base{position: relative; padding: 1rem 3rem; /* 用 padding 撑起按钮的宽度和高度 ,并确保了按钮文字水平方向居中 */font-family: "微软雅黑相关文章:
CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效
CSS技巧专栏:一日一例 19 -纯CSS实现超酷的水晶按钮特效 今天给大家分享一个纯CSS按钮水晶按钮,效果很赞,希望对大家有所帮助。 本例图片 案例分析 这个按钮看起来效果很赞,我们分析一下它由几个层组成: 1. 按钮本体:渐变层+按钮文字 2.用before伪元素实现高光层+内…...
ArcGIS基础:基于数据图框实现地理坐标系下不同投影转换的可视化效果
ArcGIS默认以第一次加载数据的坐标系决定整个工程的坐标系 可以通过改变数据框的投影坐标系,对地理数据进行快速投影变换,以可视化展示不同投影坐标系下的地理数据形状和形态 对数据框坐标系的改变,只是针对的显示参数的改变,并…...
⚡4. Kubernetes核心资源管理操作实战
文章目录 kubectl [command] [TYPE] [NAME] [flags]kubectl run 资源名称 --image镜像名称 --port端口号kubectl create -f 配置文件名称.yaml kubectl apply -f 配置文件名称.yaml快速编写yaml文件,通过命令导出新的yaml文件Kubernetes常见资源类型和缩写 kubectl …...
【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路
最近看到一个帖子 Wireshark 对接 Windows 系统命名管道,抓取数据 我突然想到一个很有意思的方式 你没看错 用 Wireshark 来抓取 CAN 总线数据 【其实 Wireshark 上有 CAN 总线的的解码器,不信你可以在表达式栏打 can 试下,是有这个解码器的】…...
Linux网络编程3
并发服务器 1.TCP多进程并发服务器 服务器端: 客户端: 2.TCP多线程服务器 服务器端: 客户机端: 需要学习的函数还有 1. send() 函数 send() 函数用于在套接字上发送数据。它是网络编程中发送数据到对端的主要函数之一。 函数…...
gitlab 服务器安装
阿里云盘快传 百度链接 链接:https://pan.baidu.com/s/1Gn5bWHi45Dcpe1RH1S06dw 提取码:yai2 然后就是有一台服务器 cd /mkdir gitlab上传下载好的东西rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 这里可以tab提示vim /etc/gitlab/gitlab.rb我建议…...
【pytorch】全连接网络简单二次函数拟合
下面是一个使用PyTorch实现全连接网络来拟合简单二次函数 y x 2 y x^2 yx2 的示例。我们将创建一个简单的神经网络,定义损失函数和优化器,并进行训练。 下面是完整的代码示例: import torch import torch.nn as nn import torch.optim …...
git提交到本地仓库了,怎么撤回
如果你想要撤回已经提交到本地仓库的更改,可以使用以下一些Git命令: 1. **撤回最后一次提交** (不保留更改): - git reset --hard HEAD~1:这会撤销最后一次提交,并且所有的更改都会丢失。 2. **撤回最后一次提交** (保留更改…...
lua学习(1)
vscode打开c或者lua文件 插件显示禁用,怎么开启插件。 1. lua 字符串 单个引号和双引号都可变量的定义默认是全局的删除一个变量将其赋值为nil即可 如: bnilnil还可以对表中的数据进行删除,也可删除一个表只要变量不是nil,变…...
SQL报错注入之updatexml
目录 1.updatexml报错原理 2.判断是否有注入点 我们在地址栏中输入?id1 我们在地址栏中输入?id1-- 3.updatexml报错注入 3.1爆库名 3.2爆表名 3.3爆字段名 3.4爆数据 1.updatexml报错原理 updatexml(xml_doument,XPath_string,new_value) 第一个参数:XML…...
单元测试的重要性
单元测试和测试驱动开发(TDD)是软件开发中的关键实践,它们有助于提高代码的质量和可维护性。以下是对单元测试和TDD的深入分析,以及如何使用Java中的测试框架来提高代码质量的指南。 单元测试的重要性 单元测试是针对程序中最小…...
mysql线上查询数据注意锁表问题
在数据库中,锁定是用来控制多个事务并发访问相同数据时的一种机制。正确的锁定机制可以保证数据的一致性和完整性,但如果不当使用,也可能导致阻塞和死锁,特别是在高并发环境中。长时间的锁等待不仅会影响当前的事务,还…...
UE5 右键菜单缺少Generate Visual Studio project files
前言 在安装完毕 ue5 后,看到别人右键菜单有 多出来的三个选项 ,但是我却没有,如下图: 解决方式 1、在 “C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64” 路径下有 UnrealVersionSelector.exe 文件。 …...
前端性能优化-webpack构建优化
前言 本文主要总结 webpack 构建优化相关的事情 PS: webpack 的每次更新都会带来很多的新特性,因此学习新知识的时候,不要专注于流程的配置和调参。因为流程终会简化,参数(API)终会升级。要抓大放小,把精力…...
Traefik:部署与实战
一、介绍Traefik Traefik是一个开源的反向代理和负载均衡器,专为现代化的微服务架构设计。它可以与各种容器化平台(如Docker、Kubernetes)和服务发现工具(如Consul、Etcd)集成,使部署和管理服务变得更加简…...
[Spring] SpringBoot统一功能处理与图书管理系统
🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…...
实现吸顶效果,一个页面多个元素吸顶效果
前言 新业务开发用到了吸顶效果而且是一个页面滚动到不同的位置不同的元素进行吸顶叠加。我是基于uniapp去写的,原理思路都一样 代码部分 下面的代码我写了两种方法都是一样的一个是通过js控制变量添加元素一个是直接通过css样式进行控制 <!-- 上半部总览位置…...
【C++入门(下)】—— 我与C++的不解之缘(二)
前言 接上篇,继续来学习C,本篇内容大概有 引用,inline 和 nullptr。 六、引用: 6.1、引用的定义 引用不是新定义一个变量,而是给已存在的变量取了一个别名,编译器不会为引用变量开辟内存空间,它…...
【数据结构】哈希应用-STL-位图
目录 1、位图的概念 2、位图的设计与实现 2.1 set 2.2 reset 2.3 test 3、C库中的位图 4、位图的优缺点 5、位图相关题目 1、位图的概念 面试题:给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这4…...
Unbuntu 服务器- Anaconda安装激活 + GPU配置
一、Anaconda安装激活 1.更新 sudo apt-get update 2.安装wget、vim sudo apt-get install wget sudo apt-get install vim 3.安装Anaconda 进入这个网址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 点这里&#x…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
