HTMLCSS:动态星空按钮

server/2024/12/20 12:41:38/

这段代码创建了一个具有动态背景和光晕效果的按钮,模拟了太空中星星闪烁的效果。按钮在鼠标悬停和按下时有不同的视觉效果,增加了页面的互动性。

演示效果

在这里插入图片描述

HTML&CSS

html"><!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>前端Hardy</title><style>css">body {background-color: #212121;display: flex;align-items: center;justify-content: center;width: 100%;height: 100vh;}.btn {display: flex;justify-content: center;align-items: center;width: 13rem;overflow: hidden;height: 3rem;background-size: 300% 300%;cursor: pointer;backdrop-filter: blur(1rem);border-radius: 5rem;transition: 0.5s;animation: gradient_301 5s ease infinite;border: double 4px transparent;background-image: linear-gradient(#212121, #212121),linear-gradient(137.48deg,#ffdb3b 10%,#fe53bb 45%,#8f51ea 67%,#0044ff 87%);background-origin: border-box;background-clip: content-box, border-box;}#container-stars {position: absolute;z-index: -1;width: 100%;height: 100%;overflow: hidden;transition: 0.5s;backdrop-filter: blur(1rem);border-radius: 5rem;}strong {z-index: 2;font-family: "Avalors Personal Use";font-size: 12px;letter-spacing: 5px;color: #ffffff;text-shadow: 0 0 4px white;}#glow {position: absolute;display: flex;width: 12rem;}.circle {width: 100%;height: 30px;filter: blur(2rem);animation: pulse_3011 4s infinite;z-index: -1;}.circle:nth-of-type(1) {background: rgba(254, 83, 186, 0.636);}.circle:nth-of-type(2) {background: rgba(142, 81, 234, 0.704);}.btn:hover #container-stars {z-index: 1;background-color: #212121;}.btn:hover {transform: scale(1.1);}.btn:active {border: double 4px #fe53bb;background-origin: border-box;background-clip: content-box, border-box;animation: none;}.btn:active .circle {background: #fe53bb;}#stars {position: relative;background: transparent;width: 200rem;height: 200rem;}#stars::after {content: "";position: absolute;top: -10rem;left: -100rem;width: 100%;height: 100%;animation: animStarRotate 90s linear infinite;}#stars::after {background-image: radial-gradient(#ffffff 1px, transparent 1%);background-size: 50px 50px;}#stars::before {content: "";position: absolute;top: 0;left: -50%;width: 170%;height: 500%;animation: animStar 60s linear infinite;}#stars::before {background-image: radial-gradient(#ffffff 1px, transparent 1%);background-size: 50px 50px;opacity: 0.5;}@keyframes animStar {from {transform: translateY(0);}to {transform: translateY(-135rem);}}@keyframes animStarRotate {from {transform: rotate(360deg);}to {transform: rotate(0);}}@keyframes gradient_301 {0% {background-position: 0% 50%;}50% {background-position: 100% 50%;}100% {background-position: 0% 50%;}}@keyframes pulse_3011 {0% {transform: scale(0.75);box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);}70% {transform: scale(1);box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);}100% {transform: scale(0.75);box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);}}</style>
</head><body><button type="button" class="btn"><strong>前端Hardy</strong><div id="container-stars"><div id="stars"></div></div><div id="glow"><div class="circle"></div><div class="circle"></div></div></button></body></html>

HTML 结构

  • type=“button” class="btn:定义了一个按钮元素,这个按钮被赋予了一个类名 btn,用于应用 CSS 样式。
  • container-stars:一个用于包含星星效果的容器,它有一个IDcontainer-stars。
  • stars:一个空的div元素,用于通过CSS创建星星效果。
  • glow:包含两个圆形光晕效果的容器,它有一个IDglow。
  • circle:两个类名为circle的div元素,用于创建光晕效果。

CSS样式

  • .btn:定义了按钮的基本样式,包括显示方式、宽度、高度、背景图像、边框、圆角和过渡效果。
  • #container-stars:设置了星星容器的位置、大小、溢出隐藏、背景模糊和圆角。
  • strong:设置了按钮内文本的字体、大小、字间距、颜色和文本阴影。
  • #glow:设置了光晕容器的位置和大小。
  • .circle:定义了光晕的宽度、高度、模糊效果和动画。
  • .btn:hover:定义了鼠标悬停在按钮上时的样式,包括z-index和缩放效果。
  • .btn:active:定义了按钮被按下时的样式,包括边框和背景效果。
  • #stars:设置了星星效果的容器大小和背景。
  • #stars::after和#stars::before:使用伪元素创建星星效果,并通过动画使星星移动。
  • @keyframes:定义了多个关键帧动画,包括星星移动、星星旋转和按钮背景渐变效果。

http://www.ppmy.cn/server/151701.html

相关文章

【系统】Mac crontab 无法退出编辑模式问题

【系统】Mac crontab 无法退出编辑模式问题 背景一、问题回答1.定位原因&#xff1a;2.确认编辑器类型3.确保编辑器进入正确3.1 确认是否有crontab调度任务3.2 进入编辑器并确保编辑器正常3.3 保存操作 4.确认crontab任务存在5.确保脚本的可执行性和正确性 二、后续 背景 之前…

航空航天领域 FMEA 如何保障飞行安全

【大家好&#xff0c;我是唐Sun&#xff0c;唐Sun的唐&#xff0c;唐Sun的Sun。】 在航空航天领域&#xff0c;飞行安全始终是首要任务&#xff0c;而故障模式与影响分析&#xff08;FMEA&#xff09;在保障飞行安全方面发挥着不可或缺的作用。 航空航天系统极其复杂&#xff0…

Python:利用蒙特卡洛方法求解圆周率

1. 蒙特卡洛方法概述 蒙特卡洛方法是一种以概率统计理论为指导的数值计算方法。它通过随机抽样来求解问题&#xff0c;在许多复杂的数学、物理等领域都有广泛的应用。其基本思想是利用随机数来模拟实验&#xff0c;通过大量重复的实验得到近似的结果。 2. 利用蒙特卡洛方法求…

Tomcat原理(5)——tomcat最终实现

目录 一、什么是Servlet容器 二、ServletConfigMapping构建实现容器 ServletConfigMapping MyTomcat 三、优化server Server MyTomcat 四、匹配 代码如下&#xff1a; 测试如下&#xff1a; 上一篇博客已经为介绍了servelet的实现 &#xff0c;这篇对上一篇博客进行补…

三分钟完成vue项目中iconfont图标的导入

iconfont 提供了丰富的图标库&#xff0c;也允许个人上传分享图标&#xff0c;非常复合中文视觉体验。平时的开发中也离不开iconfont图标的使用&#xff0c;今天就给大家聊一下iconfont图表在vue项目中的快速导入&#xff01; 1、添加图标 登录iconfont-阿里巴巴矢量图标库&a…

springboot446数字化农家乐管理平台的设计与实现(论文+源码)_kaic

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#x…

vscode+msys2+clang+xmake c++开发环境搭建

转载请标明出处&#xff1a;小帆的帆的专栏 安装msys2 下载msys2安装包&#xff1a;清华源下载地址安装msys2&#xff1a;安装目录&#xff0c;C:\Softwares\msys64 安装cling工具链&#xff0c;xmake &#xff01;&#xff01;&#xff01;在开始菜单中启动MSYS2 CLANG64,…

打造卓越技术文档的艺术:从清晰表达到团队协作的桥梁

在现代软件开发与技术创新的进程中&#xff0c;技术文档不仅仅是描述代码或系统架构的工具&#xff0c;更是团队之间沟通、协作与知识传承的关键媒介。对于技术人员来说&#xff0c;良好的文档往往能有效降低沟通成本&#xff0c;提升开发效率&#xff0c;并帮助新成员快速了解…