当前位置: 首页 > news >正文

【今日文章】:如何用css 实现星空效果

【今日文章】:如何用css 实现星空效果

  • 需求
  • 实现
  • tips:

需求

用CSS 实现星空效果的需求:

  1. 屏幕上有“星星”,且向上移动。
  2. 移动的时候,动画效果要连贯,不能出现闪一下的样子。

实现

这里我们需要知道,“星星”是怎么产生的。
通过box-shaow: xxx, xxx, xxx, xxx; 就能产生多个阴影,这些阴影也就是我们需要的星星

其次是星星的动画是怎么做的?

星星向上移动,且移动完成以后,没有“闪”一下的效果。这是常见的动画上面的需求,我们通常的做法就是复制一份一样的“星星”出来。上面的原来的div动画结束以后,接着显示下面的“星星”。

在这里插入图片描述

<html>
<body><div class="star" id="star"></div><div class="centerFont"> 星空效果 </div>
</body>
</html><style>
html{height:100%;background: radial-gradient(circle at 7.2% 13.6%, rgb(37, 249, 245) 0%, rgb(8, 70, 218) 90%);overflow:hidden
}/*目的是让元素平铺页面 position:absolute;left:0;right:0;让元素中的东西居中text-align:center;*/
.centerFont{position:absolute;top:50%;left:0;right:0;color:#fff;text-align:center;font-size:50px;margin-top:-25px;
}/*1. 通过box-shadow中写多个偏移的阴影,就能形成星空效果。   */
.star{position:fixed;width:10px;height:10px;border-radius:50%;background:red;left:0;right:0;box-shadow:90vh 90vh #fff, 60vh 70vh #fff, 70vh 14vh #fff, 60vh 13vh #fff, 20vh 12vh #fff, 80vh 10vh #fff, 15vh 15vh #fff , 15vh 15vh #fff, 20vh 20vh #fff;animation: moveup 100s;
}/*3. 写一个子元素,复制star, 当动画结束的时候,展示一模一样的子元素。不会出现动画“闪”一下的效果。   */
.star::after{content:"";position:fixed;background:red;left:0;right:0;top:100vh;/* 这是重点 */border-radius:inherit; /* 继承父元素 */box-shadow:inherit;width:inherit;	height:inherit;
}/*2. 星空是需要移动的,那怎样的动画效果才合理呢?首先第一步是,整个星空向上移动100vh。这个时候移动100vh以后,下面没东西了。最合理的解决方案是 "复制" 一份出来。*/
@keyframes moveup{100%{transform:translateY(-100vh)}
}</style>

tips:

父亲display:flex;子元素margin:auto。

这个时候能上下左右居中的原理是,margin:auto能填满子元素到父元素上下左右的距离。

如果是margin-left:auto,那是子元素填满子元素左侧到父元素的距离。

http://www.lryc.cn/news/222111.html

相关文章:

  • HackTheBox-Starting Point--Tier 1---Three
  • Linux Alsa声卡驱动(2):Machine驱动
  • 某综合性能源集团绩效考核设计项目纪实
  • ubuntu18.04 通过创建服务实现开机自启, 启动指定脚本
  • Tomcat 9.0.x 源码编译
  • 基于SSM的旅游管理系统的设计与实现
  • 多目标优化中的“latent action”是什么?
  • 上海亚商投顾:三大指数小幅下跌 CPO、算力板块集体爆发
  • 【C语法学习】19 -关闭和刷新文件
  • 制作吉他谱软件Guitar Pro8中文版本
  • SpringBoot整合JUnit
  • 华为取消6000万订单影响在扩大,高通嘴硬强调不受影响
  • 培训心得怎么写?CHAT帮你解决问题
  • AJAX-解决回调函数地狱问题
  • 【Mac开发环境搭建】JDK安装、多JDK安装与切换
  • C,C++,JAVA的区别与联系
  • 界面控件DevExpress WPF PDF Viewer,更快实现应用的PDF文档浏览
  • nanodet训练自己的数据集、NCNN部署到Android
  • 含泪整理的超全窗口函数:数据开发必备
  • CCF ChinaSoft 2023 论坛巡礼 | NASAC青年软件创新奖论坛
  • ES 未分片 导致集群状态飘红
  • Python - 面向现实世界的人脸复原 GFP-GAN 简介与使用
  • Xcode15 framework ‘CoreAudioTypes‘ not found
  • torch.cuda.is_available()=false的原因
  • asp.net docker-compose添加网关和网关配置
  • 论文阅读:LOGO-Former: Local-Global Spatio-Temporal Transformer for DFER(ICASSP2023)
  • 【GO】项目import第三方的依赖包
  • 【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接
  • 电脑软件:推荐一款电脑多屏幕管理工具DisplayFusion
  • 免费好用的网页采集工具软件推荐