使用CSS制作流动线效果

这回项目要做一个大屏展示,大概样式是,中间一个地球,向外发射几条蓝色直线,直线另一头是展示的标题。为了体现科技感,蓝色直线要做出一种像水流一样的流动特效。

在这里插入图片描述
白光向上流动。

下面上代码。

<div class="line line-left line1"></div>
.line {
  background: #01dde8; // 线的颜色
  height: 4px; // 线的宽度
  position: absolute;
  transform-origin: left top;
  z-index: 10;
  
  width: 20px; // 线的长度
  top: 50px; // 位置上偏移
  left: 50px; // 位置左偏移
  transform: rotateZ(35deg); // 线的旋转角度
}

// 用来做流动效果的
.line-left::before {
  content: "";
  position: absolute;
  height: 4px; // 流体的宽度,可以适当宽一些,但是注意位置偏移
  width: 40px; // 流体路线长度,最好与线保持一致
  background: linear-gradient(to left, transparent, #fff); // 流体样式,这里是渐变
  animation: fade-left 3s linear infinite; //使用fade-left动画
  box-shadow: 0px 0px 17px 5px #72dffa; // 外发光
}

// 向左流动,right改left为向右流动
@keyframes fade-left {
  0% {
    right: 0px;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    right: calc(100% - 40px); // 到达终点时位置要减去自身的长度
    opacity: 0;
  }
}
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS动画和伪元素来创建车道线运动效果。以下是一个简单的示例: HTML代码: ```html <div class="road"> <div class="lane"></div> <div class="lane"></div> <div class="lane"></div> </div> ``` CSS代码: ```css .road { position: relative; width: 100%; height: 100vh; background-color: #333; } .lane { position: absolute; left: 50%; width: 2px; height: 100px; background-color: #fff; transform: translateX(-50%); } .lane:nth-child(1) { top: 100px; animation: move1 2s linear infinite; } .lane:nth-child(2) { top: 250px; animation: move2 2s linear infinite; } .lane:nth-child(3) { top: 400px; animation: move3 2s linear infinite; } @keyframes move1 { 0% { transform: translateX(-50%); } 100% { transform: translateX(-50%) translateY(150px); } } @keyframes move2 { 0% { transform: translateX(-50%); } 100% { transform: translateX(-50%) translateY(150px); } } @keyframes move3 { 0% { transform: translateX(-50%); } 100% { transform: translateX(-50%) translateY(150px); } } ``` 解释: - `position: relative;` 属性将`.road`元素设置为相对定位,以便子元素 `.lane` 可以使用绝对定位。 - `width: 100%;` 和 `height: 100vh;` 属性将`.road`元素的宽度设置为100%和高度设置为屏幕高度,使其占满整个屏幕。 - `background-color: #333;` 属性设置`.road`元素的背景颜色为黑色。 - `.lane`元素使用绝对定位,通过`left: 50%;`和`transform: translateX(-50%);`属性将其水平居中。 - `.lane:nth-child(1)`,`.lane:nth-child(2)` 和 `.lane:nth-child(3)` 分别为三条车道线使用`top`属性将其垂直间隔开。 - `animation` 属性为每条车道线定义了一个运动效果,并且设置为无限循环播放。 - `@keyframes` 定义了每条车道线的动画效果,通过 `transform: translateY()` 属性将其沿着垂直方向移动。 这样,您就可以创建一个简单的车道线运动效果。您可以根据需要调整车道线的数量、颜色和动画的持续时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值