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

news2024/12/23 15:59:31

【今日文章】:如何用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.coloradmin.cn/o/1183695.html

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

相关文章

复杂逻辑的开发利器—Mendix快速实现AQL质量抽检

Mendix低代码开发平台适用于复杂的业务逻辑场景&#xff0c;这句话大家早有耳闻&#xff0c;本期小编就为您打开智慧之光&#xff0c;仅从AQL小侧面&#xff0c;来管窥一二——Mendix如何形成第五代编程语言&#xff0c;来完成数据逻辑与建模、业务算法逻辑与建模的。&#xff…

Excel下拉填充时,如何使得数字不递增?

问题描述&#xff1a;Excel下拉填充时&#xff0c;如何使得数字不递增&#xff1f; 解决办法&#xff1a;先下拉填充数据之后&#xff0c;看到最后一个单元格的右下角有个填充设置的符号&#xff0c;右键选择复制单元格即可。其中这里的填充序列就是递增数字的操作。

塔望食研院|骆驼奶市场规模庞大,百亿体量,品牌升级!

自2022年12月塔望咨询开设塔望食品大健康行业与消费研究院&#xff08;简称塔望食研院&#xff09;栏目以来&#xff0c;塔望食研院以“为食品行业品牌高质量发展赋能”为理念&#xff0c;不断发布食品大健康行业研究、消费研究报告。塔望食研院致力于结合消费调研数据、企业数…

如何使用ESB产品对接业务系统接口

ESB企业服务总线在实际项目中主要用于各业务系统之间的集成&#xff0c;集成包括数据集成、应用集成以及业务单据集成等&#xff0c;ESB企业服务总线主要包含三部分&#xff1a;ESB设计器、SMC管理控制台以及Server运行环境&#xff0c;ESB设计器用于服务以及集成流程的开发&am…

AI时代项目经理与架构师的成长之道:ChatGPT让你插上翅膀

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在AI时代&#xff0c;项…

Ubuntu中增加交换内存

前言 在运行一些代码编译或者clang-format会占用大量的内存&#xff0c;此时可能会出现电脑卡死的情况&#xff0c;在ubuntu中可以通过增加交换内存来临时解决这个问题&#xff0c;相对于硬件改动成本更低&#xff0c;但是性能不如物理内存。 实践 查看当前的交换内存大小 …

【MySQL日志与备份篇】主从复制

主从复制 文章目录 主从复制1. 概述2. 主从复制的原理2.1 原理剖析2.2 复制的基本原则 3. 一主一从架构搭建3.1 准备工作3.2 主机配置文件3.3 从机配置文件3.4 主机&#xff1a;建立账户并授权3.5 从机&#xff1a;配置需要复制的主机3.6 停止主从同步3.7 后续 4. 同步数据一致…

关于WMS三个核心问题的解读

一、企业是否需要上WMS系统&#xff0c;可以从以下五个方面入手&#xff1a; 1.库存管理状况&#xff1a;了解企业的库存管理状况&#xff0c;是否存在库存冗余、漏洞、过度采购、库存盘点不准确等问题。 2.物流效率水平&#xff1a;需要了解企业物流效率水平&#xff0c;包括…

全网最全的设计模式专栏完结,建议点赞收藏

引言 代码写得烂可能并不是他的问题&#xff0c;推这个专栏给他看看。 本系列是《和8年游戏主程一起学习设计模式》&#xff0c;让糟糕的代码在潜移默化中升华。 大家好&#xff0c;白驹过隙&#xff0c;岁月如梭。本系列文章终于迎来了完结&#xff0c;距离开始已经一个多月…

阿里云Intel Xeon Platinum可扩展处理器性能如何?

阿里云Intel Xeon Platinum可扩展处理器性能如何&#xff1f;目前云服务器ECS经济型e实例采用该款CPU型号&#xff0c;正好阿里云服务器网购买了一台2核CPU、2G内存、3M固定带宽、40G ESSD Entry云盘&#xff0c;一年优惠价99元&#xff0c;第二年续费不涨价依旧是99元一年&…

nerdctl install【nerdctl 安装】

文章目录 1. 在线安装2. 离线安装 1. 在线安装 #!/bin/bashsource ./config.shENABLE_DOWNLOAD${ENABLE_DOWNLOAD:-true}if [ ! -e files ]; thenmkdir -p files fiFILES_DIR./files if $ENABLE_DOWNLOAD; thenFILES_DIR./tmp/filesmkdir -p $FILES_DIR fi# download files, i…

25期代码随想录算法训练营第十天 | 栈与队列 part 1

目录 232.用栈实现队列225. 用队列实现栈 232.用栈实现队列 链接 相当于用两个stack将队列的元素顺序颠倒了一遍。 class MyQueue:def __init__(self):self.stack_in []self.stack_out []def push(self, x: int) -> None:self.stack_in.append(x)def pop(self) -> in…

《2023中国各地区科创之星势力图2.0版》重磅发布

数据猿出品 本次“数据猿2023年度三大媒体策划活动——《2023中国各地区科创之星势力图2.0版》”的发布&#xff0c;是数据猿在2023年1.0版本的基础上&#xff0c;迭代升级的2023开年的第二个版本。本年度下一次版本迭代将于2024年1月发布2023年3.0版&#xff0c;敬请期待&…

SpringCloud 微服务全栈体系(十三)

第十一章 分布式搜索引擎 elasticsearch 二、索引库操作 索引库就类似数据库表&#xff0c;mapping 映射就类似表的结构。 我们要向 es 中存储数据&#xff0c;必须先创建“库”和“表”。 1. mapping 映射属性 mapping 是对索引库中文档的约束&#xff0c;常见的 mapping …

王道p18 第12题假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素:否则输出-1

视频讲解在&#xff1a;&#x1f447; p18 第12题 c语言实现王道数据结构课后习题_哔哩哔哩_bilibili 从前向后扫描数组元素&#xff0c;标记出一个可能成为主元素的元素 Num。然后重新计数&#xff0c;确认 Num 是否是主元素。 我们可分为以下两步: 1.选取候选的主元素。依…

JVM运行时数据区-虚拟机栈

目录 一、内存中的栈 二、基本内容 三、优点 四、栈的存储单位 五、栈运行原理 六、栈的内部结构 &#xff08;一&#xff09;局部变量表 &#xff08;二&#xff09;操作数栈 &#xff08;三&#xff09;动态链接 &#xff08;四&#xff09;方法返回地址 &#xf…

接口开发之使用C#插件Quartz.Net定时执行CMD任务工具

C#制作定时任务工具执行CMD命令 概要准备知识点实现原理thinkphp配置winform执行CMD命令读取ini配置文件定时任务Quartz.Net 完整代码Job.csIniFunc.csForm1.csconfig.ini简易定时任务工具雏形 概要 很多时候写接口上线后还会遇到很多修改&#xff0c;类似JAVA,C#,delphi制作的…

Hello Vue!

目录 前言 hello vue 为什么要new Vue(),而不能直接调用Vue()? Vue构造函数中的形参options template配置项 $mount()方法 前言 从此篇博客开始&#xff0c;将开启vue的学习&#xff0c;查缺补漏。 只要学计算机语言&#xff0c;那么hello xxx那一定是入门第一行代码了…

设备树插件_configfs学习笔记

设备树插件定义和作用 ​ 设备树插件&#xff08;Device Tree Overlay&#xff09; 是一种用于设备树&#xff08;Device Tree&#xff09;的扩展机制。 ​ 设备树插件允许在运行时动态修改设备树结构的内容&#xff0c;以便添加、修改或删除设备节点和属性。嵌入式驱动开发者将…

[Python图像处理] 基于图像均值消除随机噪声

基于图像均值消除随机噪声 前言图像均值计算去除图像噪声相关链接 前言 在本节中&#xff0c;我们将学习如何从一组带有噪声的输入图像中估算一个无噪声的图像&#xff0c;所有图像都是通过使用原始(无噪声)图像像素添加独立同分布的随机噪声创建的&#xff0c;只需计算噪声图…