用 CSS 打造梦幻新年贺卡,让动画“动”起来!
梦云博客-是你梦想启航的新起点

用 CSS 打造梦幻新年贺卡,让动画“动”起来!

梦云
1月24日发布 /正在检测是否收录...

新年将至,用代码送上一份特别的祝福吧!今天,我们用 HTML 和 CSS 创作一张充满动感的新年贺卡。通过 CSS 动画技术,贺卡上的装饰元素仿佛被赋予了生命,为节日增添了一份灵动的氛围。

1000236870.gif

HTML&CSS

<!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>
        body {
            margin: 0;
            padding: 0;
            background: #e8e8e8;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
        }
        .card {
            width: 200px;
            height: 200px;
            transition: all 0.2s;
            position: relative;
            cursor: pointer;
        }
        .card-inner {
            width: inherit;
            height: inherit;
            background: rgba(255, 255, 255, 0.05);
            box-shadow: 0010pxrgba(0, 0, 0, 0.25);
            backdrop-filter: blur(10px);
            border-radius: 8px;
            text-align: center;
            line-height: 200px;
            font-size: 18px;
        }
        .card:hover {
            transform: scale(1.04) rotate(0deg);
        }
        .circle {
            width: 100px;
            height: 100px;
            background: repeating-linear-gradient(48deg, #3023ae 0%, #ff0099 100%);
            border-radius: 35%30%75%30% / 49%30%70%51%;
            position: absolute;
            animation: move-up6 2s ease-in infinite alternate-reverse;
        }
        .circle:nth-child(1) {
            top: -25px;
            left: -25px;
        }
        .circle:nth-child(2) {
            bottom: -25px;
            right: -25px;
            animation-name: move-down1;
        }
        @keyframes move-up6 {
            to {
                transform: translateY(-10px);
            }
        }
        @keyframes move-down1 {
            to {
                transform: translateY(10px);
            }
        }
    </style>
</head>
<body>
    <div class="card">
        <div class="circle"></div>
        <div class="circle"></div>
        <div class="card-inner">
            新年快乐
        </div>
    </div>
</body>
</html>

HTML 结构

  • card: 创建一个类名为“card”的 div 元素,用于包含卡片的内容。
  • circle: 创建两个类名为“circle”的 div 元素,用于显示动画效果的圆圈。
  • card-inner: 包含“新年快乐”文本的 div 元素,类名为“card-inner”。

CSS 样式

  • .body: 设置页面的边距、填充、背景色、显示方式和高度。
  • .card: 设置卡片的尺寸、过渡效果、位置和鼠标指针样式。
  • .card-inner: 设置卡片内部元素的尺寸、背景、阴影、模糊效果、边框半径、文本对齐、行高和字体大小。
  • .card:hover: 设置鼠标悬停在卡片上时的变换效果。
  • .circle: 设置圆圈的尺寸、背景、边框半径和位置。
  • .circle:nth-child(1) 和 .circle:nth-child(2): 分别设置两个圆圈的位置。
  • @keyframes move-up6 和 @keyframes move-down1: 定义两个关键帧动画,分别用于控制圆圈上下移动的效果。
  • .circle: 通过 animation 属性应用了 move-up6 动画,使第一个圆圈向上移动。
  • .circle:nth-child(2): 通过 animation-name 属性应用了 move-down1 动画,使第二个圆圈向下移动。
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
取消