实现了一个带有旋转动画的文字效果,包括容器、背景、文字和文字边框的样式,以及背景的动画效果。
Code
HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>流光卡片</title>
    <link rel="stylesheet" href="./53-流光卡片.css">
</head>
<body>
    <div class="box">
        <span></span>
        <h2>01</h2>
    </div>
</body>
</html>
CSS
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #0c1022;
}
.box {
    position: relative;
    width: 300px;
    height: 400px;
    background: rgba(0, 0, 0, .75);
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.box::after {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background-image: conic-gradient(transparent, transparent, transparent, #de44d4);
    animation: animate 4s linear infinite;
    animation-delay: -2s;
}
.box::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background-image: conic-gradient(transparent, transparent, transparent, #00ccff);
    animation: animate 4s linear infinite;
}
@keyframes animate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.box span {
    position: absolute;
    inset: 5px;
    border-radius: 16px;
    background: #0c1022;
    z-index: 1;
}
.box h2 {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 10em;
}
实现思路拆分
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
设置所有元素的外边距和内边距为0,并使用border-box盒模型。
body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #0c1022;
}
设置页面的样式,采用flex布局,水平和垂直居中,最小高度为100vh,背景颜色为深蓝色。
.box {
  position: relative;
  width: 300px;
  height: 400px;
  background: rgba(0, 0, 0, .75);
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
设置容器的样式,包括定位、宽度、高度、背景颜色、圆角、采用flex布局、水平和垂直居中、溢出隐藏。
.box::after {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background-image: conic-gradient(transparent, transparent, transparent, #de44d4);
  animation: animate 4s linear infinite;
  animation-delay: -2s;
}
.box::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background-image: conic-gradient(transparent, transparent, transparent, #00ccff);
  animation: animate 4s linear infinite;
}
设置容器的背景样式,包括定位、宽度、高度、背景渐变、动画效果和动画延迟。
@keyframes animate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
定义背景动画的关键帧,使背景颜色在4秒内旋转360度。
.box span {
  position: absolute;
  inset: 5px;
  border-radius: 16px;
  background: #0c1022;
  z-index: 1;
}
.box h2 {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 10em;
}
设置文字和文字边框的样式,包括定位、内边距、圆角、背景颜色和层级。
                                    
                                    
                                    
                                    

发表评论 取消回复