广告
返回顶部
首页 > 资讯 > 精选 >怎么在css3中使用less实现一个星空动画
  • 374
分享到

怎么在css3中使用less实现一个星空动画

2023-06-08 05:06:09 374人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关怎么在css3中使用less实现一个星空动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先html文件结构很简单,如下:<div>  

这期内容当中小编将会给大家带来有关怎么在css3中使用less实现一个星空动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

首先html文件结构很简单,如下:

<div>    <div id="start1"></div>    <div id="start2"></div>    <div id="start3"></div></div>

第一步:radial-gradient生成渐变背景

设置在html和body标签上

* {    padding: 0;    margin: 0;}html, body {    background: radial-gradient(ellipse at bottom, #1B2735 0%, #090A0F 100%);    overflow: hidden;    height: 100%;}

效果如下:

怎么在css3中使用less实现一个星空动画

为了对比一下我画的不是纯黑色背景图,接着放一张纯黑色的图来对比一下,可以看出来上图没有那么黑,有点偏灰

怎么在css3中使用less实现一个星空动画 

这里radial-gradient参数介绍

ellipse 表明我是用的椭圆渐变,你看下图就知道怎么用了

怎么在css3中使用less实现一个星空动画

// 上图的参数是radial-gradient(ellipse,#ffffff, #6a6a6a)

也就是颜色是白色#ffffff到灰色#6a6a6a的椭圆渐变

at bottom 这是表明椭圆渐变的圆心在底部,请看下图具体效果:

怎么在css3中使用less实现一个星空动画

// 上图的参数是radial-gradient(ellipse at bottom,#ffffff, #6a6a6a)

好了,到了这一步,渐变我们就完成了

第二步:box-shadow如何生成成百上千的星星

首先我们要解决3个问题,第一个是如何用less写循环,请看如下less代码 ( 详细解释在代码下面 )

2.1 less如何实现循环

举例如下:

.loop(@counter) when(@counter > 0) {  .h@{counter} {    padding: (10px*@counter);  }  .loop((@counter - 1)); //递归调用自身}div{  .loop(5);}//编译输出div .h6 {  padding: 50px;}div .h5 {  padding: 40px;}div .h4 {  padding: 30px;}div .h3 {  padding: 20px;}div .h2 {  padding: 10px;}
  • .loop(@counter) when(@counter > 0) 是less里面的函数,意思是定义了一个loop函数

  • @counter是传入函数的变量

  • when(@counter > 0) 意思是当变量的值@counter > 0的时候,这个函数才会执行

  • .loop((@counter - 1))这是递归调用

 所以我们总结出来less实现循环的办法就是递归调用定义的函数

接着解决第二个问题,就是如何在less里面写js表达式

2.2 如何在less里面写JS表达式

.loop(@counter) when(@counter > 0) {  padding: ~`@{counter} + Math.round(2.4)`;  .loop(@counter - 1); //递归调用自身}div{  .loop(2);}// 生成代码如下div {  padding: 4;  padding: 3;}

所以我们总结出来在less里面使用js表达式的方法就是用~开头,然后``包裹表达式

接着解决第三个问题,就是如何用box-shadow属性生成 成百上千的星星

2.3 如何用less循环在box-shadow属性上生成 成百上千的星星

这些星星其实就是正方形的小点,我们先生成4个正方形小点

// div{width:10px;height:10px;box-shadow: 10px 0px #9bcded, 50px 0px #9bcded, 10px 40px #9bcded, 50px 40px #9bcded;}

效果如下

怎么在css3中使用less实现一个星空动画

这里使用了box-shadow多个值来生成正方形

// 比如以下属性10px 0px #9bcded 表示,在相对于div元素x轴10px,y轴0px处有一个#9bcded颜色的小点// 因为div本身是width 10px height 10px 是一个正方形,所以它的box-shadow也是正方形box-shadow: 10px 0px #9bcded,width:10px;height:10px;

接着,我们要结合less循环在box-shadow上生成更多的方块(星星):

// 首先定义个mixin函数,参数是@n, 条件是只有@n > 0的时候才执行函数里的代码.mixin(@n) when(@n > 0) {    box-shadow+ : ~`Math.round(Math.random() *  2000) + 'px' + ' ' +Math.round(Math.random() *  2000) + 'px #FFF' `;    .mixin((@n - 1)); }

上面函数主要是box-shadow中,主要包括3个参数

  • 生成了x轴是0-2000随机数的值(Math.round(Math.random() * 2000) + 'px')

  • 生成了y轴是0-2000随机数的值(Math.round(Math.random() * 2000) + 'px #FFF' `)

  • 颜色是#FFF

假如我们调用mixin(100),就生成了在2000 * 2000的背景上 100个白色方块(星星)

第三步:结合html,生成星星

之前html结构如下

<div>    <div id="start1"></div>    <div id="start2"></div>    <div id="start3"></div></div>

less如下:

// start1生成了长1px,宽1px的星星700个,这是小星星// 小星星代表距离远的星星,大星星代表距离近的,这样就有了空间感#start1 {    .mixin(700);    width: 1px;    height: 1px;    animation: animStar 50s linear infinite;    animation-delay:-10s;}// start2生成了长2px,宽2px的星星200个#start2 {    .mixin(200);    width: 2px;    height: 2px;    animation: animStar 100s linear infinite;    animation-delay:-8s;}// start3生成了长3px,宽3px的星星100个#start3 {    .mixin(100);    width: 3px;    height: 3px;    animation: animStar 150s linear infinite;    animation-delay:-5s;}// 动画效果如下@keyframes animStar {    from { transfORM: translateY(0px) }    to { transform: translateY(-2000px) }}

上述就是小编为大家分享的怎么在CSS3中使用less实现一个星空动画了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么在css3中使用less实现一个星空动画

本文链接: https://www.lsjlt.com/news/252106.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在css3中使用less实现一个星空动画
    这期内容当中小编将会给大家带来有关怎么在css3中使用less实现一个星空动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先html文件结构很简单,如下:<div>  ...
    99+
    2023-06-08
  • CSS3怎么实现3D星空动画特效
    这篇文章主要介绍“CSS3怎么实现3D星空动画特效”,在日常操作中,相信很多人在CSS3怎么实现3D星空动画特效问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS3怎么实现3D星空动画特效”的疑惑有所帮助!...
    99+
    2023-06-04
  • 使用CSS3怎么实现一个粒子动画效果
    本篇文章给大家分享的是有关使用CSS3怎么实现一个粒子动画效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。按钮点击粒子动画<div class="b...
    99+
    2023-06-08
  • 怎么使用css3实现一个类在线直播的队列动画
    这篇文章给大家分享的是有关怎么使用css3实现一个类在线直播的队列动画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。之前在群里有个朋友问了这样一个问题, 就是如何在 小程序 中实现类似 直播平台 的用户上线时的 ...
    99+
    2023-06-08
  • css3中怎么实现一个垂直下拉动画菜单
    css3中怎么实现一个垂直下拉动画菜单,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。<nav>     &nb...
    99+
    2022-10-19
  • 怎么在css中实现一个评分星星效果
    本篇文章为大家展示了怎么在css中实现一个评分星星效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构如下:很简单的结构,主要核心代码如下:<div class="gra...
    99+
    2023-06-08
  • 怎么在Html5页面中使用JSON实现一个动画
    今天就跟大家聊聊有关怎么在Html5页面中使用JSON实现一个动画,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.demo.html里面有很多内联的东西,使用时堆积在页面内不好看仔...
    99+
    2023-06-09
  • 使用css3怎么实现一个文字扫光渐变动画效果
    使用css3怎么实现一个文字扫光渐变动画效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。利用css3这个属性(背景剪裁):background-clip: b...
    99+
    2023-06-08
  • CSS3中怎么用一个div做弹跳小动画
    本篇内容主要讲解“CSS3中怎么用一个div做弹跳小动画”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS3中怎么用一个div做弹跳小动画”吧! 利用伪元素...
    99+
    2022-10-19
  • 怎么在Android应用中实现一个动画效果
    本篇文章给大家分享的是有关怎么在Android应用中实现一个动画效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Android 三种动画详解帧动画一张张图片不断的切换,形成动...
    99+
    2023-05-31
    android roi
  • 怎么在jquery中使用fadeIn()实现一个淡入动画效果
    这篇文章给大家介绍怎么在jquery中使用fadeIn()实现一个淡入动画效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和...
    99+
    2023-06-14
  • 怎么在html5中使用canvas实现一个动态画饼状图
    怎么在html5中使用canvas实现一个动态画饼状图?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先用canvas画实心圆//伪代码var canv...
    99+
    2023-06-09
  • 使用Html5怎么在移动端实现一个无缝滚动动画
    使用Html5怎么在移动端实现一个无缝滚动动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。html骨架其实很简单,最外面的<div>是做固定的窗口,里面的<...
    99+
    2023-06-09
  • 怎么在CSS3中使用Animation动画属性
    本篇文章为大家展示了怎么在CSS3中使用Animation动画属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。要使用animation动画,先要熟悉一下keyframes,Keyframes的语法...
    99+
    2023-06-08
  • 怎么用CSS3和table标签实现一个圆形轨迹的动画
    小编给大家分享一下怎么用CSS3和table标签实现一个圆形轨迹的动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html:其实就是根据table标签把几个实心...
    99+
    2023-06-08
  • 怎么在Android中利用TextView实现一个数字滚动动画
    怎么在Android中利用TextView实现一个数字滚动动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。NumberRollingView是一个自定义的自带数字滚动动画的T...
    99+
    2023-05-31
    android textview 动动
  • 怎么在HTML5中实现一个3D焦点图动画
    怎么在HTML5中实现一个3D焦点图动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。HTML代码<div class="dg-wrapper&quo...
    99+
    2023-06-09
  • 使用css3怎么实现一个动感波浪效果
    使用css3怎么实现一个动感波浪效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一根矢量的波浪<svg viewBox="0 0&nb...
    99+
    2023-06-08
  • 怎么使用JS实现一个跟随鼠标移动洒落的星星特效
    这篇“怎么使用JS实现一个跟随鼠标移动洒落的星星特效”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用JS实现一个跟随鼠...
    99+
    2023-07-05
  • 怎么在CSS3中实现一个边框效果
    怎么在CSS3中实现一个边框效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是CSS#CSS(Cascading Style Sheets的缩写),翻译为“层叠样式表”或...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作