web前端之实现霓虹灯背景魔术卡、旋转的背景动画、模糊效果、边框、变量、filter

news2024/12/27 11:08:27

MENU

  • 前言
  • 效果图
  • html
  • style


前言

代码段定义一个名为Magic Card的卡片,并通过一系列CSS属性和动画效果来美化和增强该卡片的视觉效果。


效果图

1


2


html

<div class="card">
    Magic Card
</div>

style

代码

@property --rotate {
    syntax: "<angle>";
    initial-value: 132deg;
    inherits: false;
}

:root {
    --card-height: 65vh;
    --card-width: calc(var(--card-height) / 1.5);
}

body {
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    flex-direction: column;
    margin: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
    box-sizing: border-box;
    background: #212534;

    .card {
        position: relative;
        width: var(--card-width);
        height: var(--card-height);
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 2px;
        border-radius: 4px;
        text-align: center;
        font-size: 1.5em;
        font-family: cursive;
        background: #191c29;
        color: rgb(88, 199, 250);
        cursor: pointer;
    }

    .card:hover {
        color: rgb(88, 199, 250);
        transition: color 1s;
    }

    .card:hover:before,
    .card:hover:after {
        animation: none;
        opacity: 0;
    }

    .card::before,
    .card::after {
        content: "";
        position: absolute;
        z-index: -1;
        background-image: linear-gradient(var(--rotate), #5ddcff, #3c67e3 43%, #4e00c2);
        animation: spin 2.5s linear infinite;
    }

    .card::before {
        width: 104%;
        height: 102%;
        top: -1%;
        left: -2%;
        border-radius: 4px;
    }

    .card::after {
        width: 100%;
        height: 100%;
        top: calc(var(--card-height) / 6);
        right: 0;
        left: 0;
        opacity: 1;
        margin: 0 auto;
        transform: scale(0.8);
        transition: opacity .5s;
        filter: blur(calc(var(--card-height) / 6));
    }
}

@keyframes spin {
    0% {
        --rotate: 0deg;
    }

    100% {
        --rotate: 360deg;
    }
}

解析

自定义属性(@property --rotate)
1、@property用于定义自定义CSS属性(也称为CSS变量)的语法、初始值和继承性。
2、--rotate是自定义属性的名称。
3、syntax: "<angle>";定义–rotate属性的语法为一个角度值。
4、initial-value: 132deg;设置–rotate属性的初始值为132deg。
5、inherits: false;表示该属性不继承父元素的值。


定义根元素的全局CSS变量
1、:root选择器表示文档的根元素(即html元素),通常用于定义全局的CSS变量。
2、--card-height: 65vh;定义卡片的高度为视口高度的65%。
3、--card-width: calc(var(--card-height) / 1.5);定义卡片的宽度为其高度的2/3,即通过calc函数动态计算得出。


body元素样式
1、width: 100vw;height: 100vh;设置body的宽度和高度分别为视口的100%。
2、display: flex;justify-content: center;align-items: center;使body元素成为弹性盒布局,并将子元素水平垂直居中。
3、margin: 0;清除外边距,padding-top: 2rem;padding-bottom: 2rem;设置上下内边距。
4、box-sizing: border-box;确保padding和border不会影响元素的宽度和高度计算。
5、background: #212534;将背景色设为深蓝色。


.card样式
01、position: relative;允许卡片内部的伪元素使用绝对定位。
02、width: var(--card-width); 和 height: var(--card-height);使用前面定义的CSS变量来设置卡片的宽度和高度。
03、display: flex;justify-content: center;align-items: center;使卡片内容居中。
04、padding: 2px;设置卡片的内边距。
05、border-radius: 4px;使卡片的边角有一个4px的圆角。
06、text-align: center;让文本在卡片内居中对齐。
07、font-size: 1.5em;设置文本大小为1.5倍的默认字体大小。
08、font-family: cursive;设置字体为手写体风格。
09、background: #191c29;将卡片背景色设置为深色。
10、color: rgb(88, 199, 250);设置文字颜色为浅蓝色。
11、cursor: pointer;将鼠标悬停在卡片上时显示为手形图标。


悬停时.card的样式
color: rgb(88, 199, 250);在悬停时,将文字颜色设置为浅蓝色。
transition: color 1s;在1秒内平滑地过渡到新的文字颜色。


伪元素的动画
1、animation: none;在悬停时,禁用伪元素的动画。
2、opacity: 0;将伪元素的透明度设为0,使它们不可见。


卡片的伪元素样式
1、content: "";定义伪元素的内容为空。
2、position: absolute;使用绝对定位。
3、z-index: -1;将伪元素置于.card之下。
4、background-image: linear-gradient(var(--rotate), #5ddcff, #3c67e3 43%, #4e00c2);设定伪元素的背景图为一个线性渐变,颜色由浅蓝到深蓝再到紫色,且渐变角度由–rotate变量控制。
5、animation: spin 2.5s linear infinite;让伪元素在2.5秒内不断旋转,且无限循环。


.card::before样式
1、width: 104%;height: 102%;使伪元素比卡片略大。
2、top: -1%;left: -2%;将伪元素稍微向上和向左偏移。
3、border-radius: 4px;使伪元素也具有圆角,与.card边角保持一致。


.card::after样式
1、width: 100%;height: 100%;设置伪元素的大小与卡片相同。
2、top: calc(var(--card-height) / 6);将伪元素向下偏移卡片高度的六分之一。
3、right: 0;left: 0;让伪元素水平居中。
4、opacity: 1;将伪元素的透明度设为1,使其可见。
5、margin: 0 auto;水平居中对齐。
6、transform: scale(0.8);缩小伪元素至原来的80%。
7、transition: opacity .5s;在透明度变化时,平滑过渡0.5秒。
8、filter: blur(calc(var(--card-height) / 6));为伪元素添加模糊效果,模糊量为卡片高度的六分之一。


@keyframes定义旋转动画
@keyframes spin定义一个名为spin的关键帧动画。
0% { --rotate: 0deg; }100% { --rotate: 360deg; }表示动画从0度旋转到360度,即完成一整圈旋转。

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

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

相关文章

EasyCVR视频汇聚平台:深度解析GB/T 28181协议下的视频资源整合与应用

随着安防技术的快速发展和智慧城市建设的推进&#xff0c;视频监控系统作为公共安全、城市管理、企业运营等领域的重要基础设施&#xff0c;其重要性和应用范围不断扩大。在这一过程中&#xff0c;GB/T 28181作为国家标准中关于视频监控设备通信协议的规范&#xff0c;正逐渐受…

DatawhaleAI夏令营 多模态大模型

任务讲解 此次的任务和一般以模型为中心的任务不同&#xff0c;是以数据为核心的。要求在官方给定的数据集的基础上进行数据清洗和数据合成&#xff0c;生成更为优质的数据集&#xff0c;以提高多模态模型的性能。&#xff08;此次的模型以图文能力为主&#xff09; 我们将会…

搜维尔科技:驾驶模拟器背后的技术: Varjo的虚拟/混合现实 (VR/XR)提供独特的优势,最终加快汽车开发创新的步伐

专业驾驶模拟器广泛应用于车辆开发&#xff0c;帮助汽车行业在开发过程的早期做出更好的设计决策。总体目标是为测试驾驶员提供最真实的驾驶体验&#xff0c;包括动态动作和声音&#xff0c;并测试控制算法或辅助系统等功能。环境越真实&#xff0c;驾驶员的体验就越接近最终车…

[vue] pdf.js / vue-pdf 文件花屏问题

vue-pdf内核也是pdf.js&#xff0c;修改方式一样 在pdf.worker.js中加入几行代码&#xff0c;追加到”precinct.zeroBitPlanesTree zeroBitPlanesTree;“之后。 for (var l 0; l < layerNumber; l) {if (readBits(1) ! 0) {throw new JpxError("Invalid tag tree&qu…

vba代码插入折线图

xqwertyy52152018139hi303533312015 Sub test()Set sht1 ThisWorkbook.Worksheets("示例")x sht1.Range("I1").Lefty sht1.Range("I1").Topw sht1.Range("N15").Width * 15h sht1.Range("N15").Height * 25Set ch1 s…

Progressive Multi-modal Conditional Prompt Tuning

文章汇总 动机 图像的重复消化有助于提高分类精度。ProMPT不是直接进行预测&#xff0c;而是多次重新访问原始图像以检查答案&#xff0c;逐步将预测从粗糙细化到精确。 希望达到的效果如下&#xff1a; 图7:通过迭代进化&#xff0c;ProMPT逐步将CLIP产生的错误结果纠正为正…

el-select远程搜索,查询条件为空,没有搜索到数据时,展示“无数据”

el-select远程搜索&#xff0c;查询条件为空&#xff0c;没有搜索到数据时&#xff0c;展示“无数据” 现状&#xff1a;1、查询条件没有值&#xff0c;远程接口没有数据时&#xff0c;不展示“无数据”&#xff1b; 2、查询条件有值&#xff0c;远程接口没有数据时&#xff0c…

公用事业公司签署大规模电力供应协议

随着人工智能技术的迅猛发展&#xff0c;美国公用事业公司与数据中心运营商之间的电力供应协议数量显著增加&#xff0c;为未来几季度的销售和利润增长奠定了基础。根据高盛今年5月发布的一份报告&#xff0c;到2030年&#xff0c;数据中心的发电量预计将占美国总发电量的8%&am…

autoware中ROS2学习笔记

文章目录 一、学习资料&#xff1a;1.1、说明1.2、Autoware Documentation1.3、Autoware Universe Documentation1.4、总结 二、概述三、ros2--节点组件什么是组件容器组件的实现原理可组合节点--节点组件什么是节点组件为什么需要可组合节点创建可组合节点时构造函数为什么需要…

Android 12系统源码_屏幕设备(一)DisplayManagerService的启动

前言 DisplayManagerService是Android Framework中管理显示屏幕相关的模块&#xff0c;各种Display的连接、配置等&#xff0c;都是通过DMS和来管理控制。 在DMS模块中&#xff0c;对显示屏幕的描述分为物理显示屏(physical display)和逻辑显示屏(logical display)&#xff0c…

您知道有哪些主流的大模型LLM开源项目吗?

随着人工智能技术的飞速发展&#xff0c;大模型LLM&#xff08;Large Language Models&#xff09;已成为自然语言处理领域的一股不可阻挡的潮流。从早期的探索到今天的广泛应用&#xff0c;LLM在理解、生成和处理人类语言方面取得了令人瞩目的成就。本文旨在提供一个全面的视角…

【网络安全】密码重置中毒漏洞解析

未经许可 不得转载。 文章目录 概述重置密码的正常流程如何构造密码重置投毒攻击悬垂标记攻击概述 密码重置投毒是一种技术,攻击者利用该技术操纵易受攻击的网站,使其生成指向其控制域的密码重置链接。此行为可被用来窃取重置任意用户密码所需的秘密令牌,并最终盗取其帐户。…

最新级联文生图技术,StableCascade模型部署

Stable Cascade是 Stability AI 开发的一款先进的文生图&#xff08;Text-to-Image&#xff09;生成模型。 Stable Cascade由三个模型组成&#xff1a;Stage A、Stage B 和 Stage C&#xff0c;它们分别处理图像生成的不同阶段&#xff0c;形成了一个“级联”&#xff08;Casc…

TCP/UDP实现网络通信

TCP实现网络通信 1.服务端 #include<myhead.h>//1服务端定义:端口号\id号 #define SER_PIPR 6666 #define SER_IP "196.168.111.186" //通过ifconfig查看ip int main(int argc, const char *argv[]) {//1创建套接字int sfd socket(AF_INET,SOCK_STREAM,0);…

AI绘画大模型-StableDiffusion最强模型sd3(本地安装方法)

​ 前言/introduction Stable Diffusion 3&#xff08;简称SD3&#xff09;是Stability AI最新推出的文本到图像生成模型。相比前代模型&#xff0c;SD3在生成质量、细节表现以及运行效率上有了显著提升&#xff0c;尤其在细腻的图像渲染和复杂的场景构建方面表现出色。SD3模型…

旅游展示系统2024(代码+论文+ppt)

旅游展示系统2024(代码论文ppt),编号:sp013 代码经过修正,确保可以运行,下载地址在文末 技术栈: springbottvuemysql 展示: 下载地址: https://download.csdn.net/download/hhtt19820919/89642334 备注: 专业承接各种程序java,c,c,python,cuda,AI 运行有问题请私信我,私…

深兰科技创始人陈海波入选“2024先锋科创家?硬科技商业先锋榜”

8月14日&#xff0c;2024先锋科创家系列榜单揭晓&#xff0c;深兰科技创始人、董事长陈海波先生凭借创新精神和商业洞察力成功入选&#xff0c;荣登“2024先锋科创家•硬科技商业先锋榜”。 该榜单评选由财联社《科创板日报》联合上海科学技术情报研究所(ISTIS)共同发起&#x…

ImagePicker插件的用法

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何选择视频文件"相关的内容&#xff0c;本章回中将介绍如何混合选择图片和视频文件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我…

网页版IntelliJ IDEA部署

在服务器部署网页 IntelliJ IDEA 引言 大家好&#xff0c;我是小阳&#xff0c;今天要为大家带来一个黑科技——如何在云端部署和使用WEB版的IntelliJ IDEA&#xff0c;让你在任何地方都可以随心所欲地进行Java开发。这个方法特别适合那些用着老旧Windows电脑&#xff0c;部署…

基于springboot的医药管理系统

TOC springboot194基于springboot的医药管理系统 绪论 1.1 选题背景 当人们发现随着生产规模的不断扩大&#xff0c;人为计算方面才是一个巨大的短板&#xff0c;所以发明了各种计算设备&#xff0c;从结绳记事&#xff0c;到算筹&#xff0c;以及算盘&#xff0c;到如今的…