CSS 实现卡片边框渐变动画

news2024/11/16 13:57:03

前言

👏CSS实现卡片边框渐变动画,速速来Get吧~
🥇文末分享源代码。记得点赞+关注+收藏!

1.实现效果

在这里插入图片描述

2.实现步骤

  • 父容器添加背景渐变色

在这里插入图片描述

<div class="card"></div>
 .card {
  background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
  border-radius: 15px;
  box-shadow: 0px 10px 20px 20px rgba(0, 0, 0, 0.17);
  width: 300px;
  height: 200px;
}
  • 试着改变渐变色的角度,这里可以将渐变色改的明显一点,可以发现角度的变化,会让父容器的四边呈现不同的色值

在这里插入图片描述

  • 那么也就是说,我们可以设置一个动画,去改变渐变的角度,试试看,可以发现并木有生效
    在这里插入图片描述
.card{
	+ animation: bg 2.5s linear infinite;
}
@keyframes bg {
  0% {
    border: 5px solid blue;
    background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
  }
  100% {
    border: 5px solid #fff;
    background: linear-gradient(360deg, #ff1d74, #e3820c 43%, #c28846);
  }
}
  • 通过参考chokcoco-CSS @property,让不可能变可能这篇文章,渐变是无法进行动画效果的
  • 使用 @Property
@property --rotate {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.card {
 - background: linear-gradient(0deg, #ff1d74, #e3820c 43%, #c28846);
 - background: linear-gradient(var(--rotate), #ff1d74, #e3820c 43%, #c28846);
}
  • 那么现在我们只要动态的改变渐变色的角度即可,重写动画

在这里插入图片描述

@keyframes bg {
  0% {
    --rotate: 0deg;
  }
  100% {
    --rotate: 360deg;
  }
}
  • 为父容器添加一个伪元素,预留出2px的border,设置水平垂直居中

在这里插入图片描述

.card{
 + position: relative;
 + cursor: pointer;
}
.card::after {
   content: "";
   background: #222;
   position: absolute;
   width: 296px;
   height: 196px;
   left: calc(50% - 148px);
   top: calc(50% - 98px);
   border-radius: 15px;
}
  • 添加span标签,基于父容器absolute定位,z-index层级设置为1,高于伪元素层级

在这里插入图片描述

<div class="card">
  <span>苏苏就是小苏苏888</span>
</div>
.card span {
  position: absolute;
  width: 100%;
  text-align: center;
  z-index: 1;
  left: 0%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 26px;
  font-weight: bold;
  font-family: "Amatic SC";
  color: #fff;
  letter-spacing: 2px;
  transition: all 0.5s;
}
  • 为span添加hover事件,设置为渐变色

在这里插入图片描述

.card:hover span {
  background: linear-gradient(45deg, #ff1d74, #e3820c 43%, #c28846);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
  • 为父容器添加transform,进行一定的旋转

在这里插入图片描述

.card {
 + transform: rotateX(10deg) rotateY(15deg);
}
  • 父容器再次添加一个transform动画,就完成啦~

在这里插入图片描述

.card{
   + animation: bg 2.5s linear infinite, rotate 1s infinite alternate-reverse;
}
@keyframes rotate {
  0% {
    transform: rotateX(10deg) rotateY(15deg);
  }
  100% {
    transform: rotateX(-10deg) rotateY(-15deg);
  }
}

3.实现代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>CSS 实现卡片边框渐变动画</title>
  </head>
  <link rel="stylesheet" href="../common.css" />
  <style>
    @import url("https://fonts.googleapis.com/css?family=Amatic+SC");
    
    @property --rotate {
      syntax: "<angle>";
      initial-value: 0deg;
      inherits: false;
    }
    body {
      transform-style: preserve-3d;
      perspective: 1800px;
    }

    .card {
      background: linear-gradient(var(--rotate), #ff1d74, #e3820c 43%, #c28846);
      border-radius: 15px;
      box-shadow: 0px 10px 20px 20px rgba(0, 0, 0, 0.17);
      width: 300px;
      height: 200px;
      animation: bg 2.5s linear infinite, rotate 1s infinite alternate-reverse;
      position: relative;
      cursor: pointer;
      transform: rotateX(10deg) rotateY(15deg);
    }

    .card::after {
      content: "";
      background: #222;
      position: absolute;
      width: 296px;
      height: 196px;
      left: calc(50% - 148px);
      top: calc(50% - 98px);
      border-radius: 15px;
    }
    .card span {
      position: absolute;
      width: 100%;
      text-align: center;
      z-index: 1;
      left: 0%;
      top: 50%;
      transform: translateY(-50%);
      font-size: 26px;
      font-weight: bold;
      font-family: "Amatic SC";
      color: #fff;
      letter-spacing: 2px;
      transition: all 0.5s;
    }
    .card:hover span {
      background: linear-gradient(45deg, #ff1d74, #e3820c 43%, #c28846);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    @keyframes rotate {
      0% {
        transform: rotateX(10deg) rotateY(15deg);
      }
      100% {
        transform: rotateX(-10deg) rotateY(-15deg);
      }
    }
    @keyframes bg {
      0% {
        --rotate: 0deg;
      }
      100% {
        --rotate: 360deg;
      }
    }
  </style>
  <body>
    <div class="card">
      <span>苏苏就是小苏苏888</span>
    </div>
  </body>
</html>

4.写在最后🍒

看完本文如果觉得对你有一丢丢帮助,记得点赞+关注+收藏鸭 🍕
更多相关内容,关注🍥苏苏的bug,🍡苏苏的github,🍪苏苏的码云~

参考链接:

[1].chokcoco-CSS @property,让不可能变可能

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

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

相关文章

Tensorboader图片和模型可视化

非常简单&#xff0c;10分钟搞懂1 Tensorboader介绍2 进行写入和运行&#xff08;共2步&#xff09;3 图像显示3.1 显示图片3.2 显示模型3.3 动态显示学习率等参考文献1 Tensorboader介绍 它就是1个可视化工具&#xff0c;需要用pip进行下载&#xff1b; 下载以后进行显示&a…

SpringCloud框架(三):微服务优化,Feign的最佳实现方案

SpringCloud环境搭建&#xff1a;生产和消费 RestTemplate Spring章节复习已经过去&#xff0c;新的章节SpringCloud开始了&#xff0c;这个章节中将会回顾微服务相关 主要依照以下几个原则 每一个组件的Demo和Coding上传到我的代码仓库在原有基础上加入一些设计模式&#xf…

数据结构与算法之图的应用

一.树之习题选讲-Tree Traversals Again 树习题-TTA.1 题意理解 非递归中序遍历的过程 1. Push的顺序为先序遍历(pre)2. Pop的顺序给出中序遍历(in) 树习题-TTA.2 核心算法 上图分别是先序、中序、后序遍历通过规律我们可以看到他们之间的位置分配 //伪代码 void solve(int …

Zabbix在X86服务器上的部署流程

服务器资源:Centos7、X86架构 部署zabbix服务端 #设置SELinux 成为permissive模式临时关闭selinux防火墙 setenforce 0 #获取zabbix的下载源和更换阿里源 https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm #解压zabbix包 …

探花交友_第4章_MongoDB基础(新版)

探花交友_探花交友_第4章_MongoDB基础(新版) 文章目录探花交友_探花交友_第4章_MongoDB基础(新版)课程介绍1. 通用设置1.1 需求分析1.1.1 需求分析1.1.2 数据库表1.1.3 实体类SettingsQuestionBlackList1.2 查询通用设置1.2.1 接口文档1.2.2 代码实现vo对象tanhua-app-serverSe…

易知微11月更新速递 | 预案集如何实现“一屏多端”联动指挥体系

伴随着“2022Easy Future秋季产品发布会”的举行&#xff0c;易知微也迎来了EasyV6.0的全新升级&#xff0c;通过新产品、新服务&#xff0c;助力实现一个能“数智视融合&#xff0c;虚实人联动”的数字增强世界。近一个月我们依旧奋力于产品迭代优化&#xff0c;又给大家带来了…

留学生Paper写作怎么进行深度解析?

对于留学生Paper而言&#xff0c;要想文章显得井井有条&#xff0c;逻辑结构在这个时候就显得很重要&#xff01;为什么这样说呢&#xff1f;首先我们要认识到一点&#xff0c;就是Paper必须做到内容和形式上统一。内容就是文章的主题和材料&#xff0c;形式是指逻辑结构和语言…

视觉小目标检测论文速读

视觉小目标检测论文速读 本文主要针对三篇文章典型文章。 一. SuperYOLO Super Resolution Assisted Object Detection in Multimodal Remote Sensing Imagery 1. 主要工作: 首先去掉Focus模块取保持HR特征, 避免分辨率下降&#xff0c;有效克服小目标空间损失的减少。利…

(一) SpringCloud+Security+Oauth2微服务授权初步认识

一 引言 再前面的security专题中 我们学习了单体架构基于SpringSecurity实现的授权方案,这种在业务量较小及业务的复杂度较低时比较实用,随着业务的复杂度越来越高,微服务架构也越来越被更多的公司使用&#xff0c;本文就微服务中的主流授权方案及oauth2中基本概念做简要概述。…

厨神之蛋糕制作

失败了7次&#xff0c;成功了6次。成功的6次里有好有坏&#xff0c;总结一下蛋糕制作的过程与要点。 原料 低筋面粉&#xff08;筋度越高越偏向包子馒头的口感&#xff0c;松软度越低&#xff09;、白糖、鸡蛋、水&#xff08;也可以用牛奶或其他含水的物质&#xff09;、食用…

多目slam论文阅读系列一:MULTICOL-SLAM论文阅读

论文地址&#xff1a;https://arxiv.org/pdf/1610.07336.pdf 代码&#xff1a;GitHub - urbste/MultiCol-SLAM: This repository contains a multi-fisheye camera SLAM. The underlying SLAM system is based on ORB-SLAM.参考文档&#xff1a;【算法】跑MultiCol-SLAM遇到的效…

Java小区物业管理系统源码带本地搭建教程

技术架构 技术框架&#xff1a;springboot mybatis thymeleaf Mysql5.7 运行环境&#xff1a;jdk8 IntelliJ IDEA maven 宝塔面板 本地搭建教程 1.下载源码&#xff0c;本地电脑新建一个数据库&#xff0c;导入wuye.sql文件至数据库中。 2.使用IDEA打开wuyeadmin目录&…

web随想笔记

1 OJ大概架构 1.0 OJ页面–>WEB服务器&#xff08;SpringBoot&#xff09;–>判题机(Linux) OJ页面将提交的代码封装成json格式发给web服务器端&#xff0c;服务器端接收json获取信息&#xff0c;进行进一步封装&#xff0c;转发给判题机&#xff0c;拆解json数据获得程…

擦除编码(EC)数据中心中的最优机架协调更新

擦除编码EC在数据中心中的最优机架协调更新介绍与背景工作文章外主流的工作文章摘要RackCU, the optimal Rack-Coordinated Update solution数据增量基础更新奇偶校验基础更新RackCU其他的更新方法一些数值实验可以仅需改进的地方参考文献介绍与背景工作 擦除编码&#xff08;…

Simulink建模:CRC校验模型

本文研究CRC校验的Simulink模型及其代码生成。 文章目录1 CRC校验2 C代码形式3 Matlab/Simulink建模及代码生成3.1 Matlab Function建模3.2 For Iteration子系统建模4 总结与思考1 CRC校验 在汽车软件开发中&#xff0c;CRC校验常用于CAN通信中。通常将某个CAN报文中的数据通过…

【AVL树】

目录基础知识AVL树的定义结点的平衡因子结构体部分操作思路AVL树的插入平衡化旋转左单旋转右单旋转先左后右双旋转先右后左双旋转插入函数AVl树的删除左平衡代码右平衡代码删除函数基础知识 AVL树的定义 一棵AVL树或者是空树&#xff0c;或者是具有谢下列性质的二叉搜索树&am…

Docker 实战——部署 Nginx 镜像容器、Tomcat 镜像容器、MySQL 镜像容器

3.安装 Docker 可使用 yum list docker-ce --showduplicates | sort -r 命令来查看 Docker 的所有版本。 [rootDocker ~]# yum -y install docker-ce-17.12.1.ce #安装docker 4.启动 Docker 并设置开机自启 [rootDocker ~]# systemctl start docker [rootDocker ~]# syste…

uniClound云开发创建流程

uniClound是 DCloud 联合阿里云、腾讯云&#xff0c;为开发者提供的基于 serverless 模式和 js 编程的云开发平台。云服务创建项目&#xff0c;使用熟悉的js&#xff0c;轻松搞定前后台整体业务&#xff0c;使前端开发离全栈开发又进一步&#xff0c;尤其是一键生成代码的功能&…

海外的 SEO 网站如何进行优化

作为一个已经出海12年的专业平台&#xff0c;米贸搜为你整理了一份海外SEO优化方法&#xff0c;希望对你有所帮助。 无论是平台还是外贸网站&#xff0c;无论是外贸还是内销&#xff0c;一个绕不开的话题就是流量。随着各平台和外贸网站竞争的加剧&#xff0c;流量的获取成本也…

【ML】基于机器学习的心脏病预测研究(附代码和数据集,逻辑回归模型)

心脏病是人类健康的头号杀手, 全球大约1/3的人口死亡是由心脏病引起的。而我国,每年大概有几十万人口死于心脏病。如果我们可以通过提取人体相关的指标(既往病史、家族病史、血压情况、血糖情况等等),通过数据挖掘方式来分析不同特征对于心脏病的影响,或者建立电子病历,…