效果图:

HTML的结构如下,创建10个雪花元素。

其实三四个元素也可以。元素越多雪花越多,雪花的速度不一样,会显得更有层次感。

一朵雪花

首先,我们先写一朵雪花,并设为绝对定位。.snow {

position: absolute;

color: #fff;

&:after{

content: "❄";

}

}

这样我们就得到一朵雪花了。那么怎么生成很多的雪花呢?我们可以用text-shadow这个属性,给雪花设置一个阴影。.snow {

position: absolute;

color: #fff;

&:after {

text-shadow: 10px 10px #fff;

content: "❄";

}

}

那么给一朵雪花生成3个阴影,就写3个shadow值就可以了。text-shadow: 10px 10px #fff, 5px 25px #fff, 22px 5px #fff;

多重雪花

当我们希望雪花能有更更更多的阴影,但是手动写太累人了也不科学,所以我们需要用到SASS的for循环,并结合random()随机函数去帮我们随机生成多重阴影。

阴影的颜色可以设置为不同的透明度,可以让雪花看起来有层次感。@function boxShadow ($n) {

$value: #{random(2000)}px #{random(2000)}px rgba(255,255,255,random(10)/10);

@for $i from 1 through $n{

$value: #{$value} , #{random(2000)}px #{random(2000)}px rgba(255,255,255,random(10)/10);

}

@return $value;

}

.snow {

position: absolute;

color: #fff;

&:after{

text-shadow: boxShadow(150);

content: "❄";

}

}

此时我们一朵雪花的多重阴影就完成了。但是一朵雪花的动画就只动一遍就消失了,并不是我们想要的效果。所以我们需要多添加几朵雪花,让它们不同时间不同位置落下。

雪花飘落@for $i from 1 through 10 {

.snow:nth-child(#{$i}) {

left: #{random(30)}vw;

font-size: #{(random(15) + 12)}px; // 雪花大小随机

color: rgba(255, 255, 255, random()); // 雪花透明度随机

animation: falldown #{random(5) + 85}s #{$i * -3}s infinite both; // 雪花下降的时间随机,区间为86-90s

&:after {

content: "❄";

text-shadow: boxShadow(random(150));

}

}

}

@keyframes falldown {

0% {

transform: translate3d(0, -2000px, 0);

}

100%{

transform: translate3d(0, 2000px, 0);

}

}

雪花css样式,css雪花动画相关推荐

  1. JavaWeb开发 前端语言:jQuery(二)属性操作、DOM的增删改、CSS样式操作、动画、事件操作

    JavaWeb开发 前端语言:jQuery(二) 1.jQuery的属性操作 2.jQuery练习:使用jQuery完成全选.全不选.反选和提交功能 3.DOM的增删改 3.1 DOM的增操作 3.1 ...

  2. java样式是什么_java css样式 css样式的种类 选择器 文本相关样式 背景相关样式 边框 盒子模式...

    今日内容: ? CSS样式 ? CSS样式的种类 ? 选择器 ? 文本相关样式 ? 背景相关样式 ? 边框 ? 盒子模式 select标签 下拉列表标签,常用于单选和多选,是一个组合标签,需要和子标签 ...

  3. html 点击增加样式,js点击添加css样式 css添加jq点击事件 JavaScript点击增加css样式...

    js可实现点击后对div或者其他标签增加或者删除css样式,从而达到实现点击触发某种效果的目的.页面样式可以通过style修饰,也可以通过css修饰,改变css或者添加css可以改变页面的排版.代码如 ...

  4. 在html语言描述中,css的特点有,css样式 css样式语言特点

    层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以静态地修 ...

  5. 表格内容居中css样式,css表格中的内容如何居中?css表格中的文本样式介绍

    你知道css表格的内容太是如何居中的吗?你知道css表格的文本如何设计左对齐吗?你知道css表格如何设置右对齐吗?这些内容都在这篇文章之中等着你来学习了. 首先我们先介绍css表格中的内容是如何居中的 ...

  6. html中初始化css样式,css样式初始化 normalize

    总于找到一款良心的css初始化样式重置,哈哈 在没上google之前,在百度搜一些腾讯,阿里等初始化样式,效果一般般,勉强用, 网上也有很多类似不过大部分都是去除浏览器所有样式 而normalize. ...

  7. html表格居中设置css样式,css怎么设置table居中?

    一般情况下,页面中可以利用align进行页面的居中.靠左或者靠右对齐,但是采用CSS样式表来做更简单一些,下面我们来看一下使用css设置table居中的方法. css设置居中的方法: 1.利用marg ...

  8. Vue——在vue中,动态js改变css样式 (css 层叠模式)

    vue文件 <el-table ref="myTable"> </el-table> <button @click="click" ...

  9. html+CSS样式:雪花飘落背景(雪花为图片)

    多种雪花图片,自由下落到底端渐变消失 html代码 <!DOCTYPE html><html style="background-color: black"> ...

最新文章

  1. 浅谈通信编程(二)--如何分离通信物理接口和应用程序
  2. Vim编程之:tags,cscope,taglist
  3. Apache Flink 零基础入门(五)Flink开发实时处理应用程序
  4. Java多线程复习_Java多线程复习
  5. @excel 注解_Java中注解学习系列教程-3
  6. 叙述计算机网络拓扑结构的定义,计算机网络拓扑结构的定义
  7. libmysql.dll是否真的要拷贝到c:\windows目录下呢?
  8. 《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 1.4 内容安排
  9. 漫谈边缘计算(四):赢家是软还是硬
  10. 线程通信之多个线程循环执行,(A线程执行5次,B线程执行10次,C线程执行15次)...
  11. 转豆瓣--梁海棠尽管死了,但却占领了陈少杰的身心。乔燕尽管还…
  12. 《利用Python》进行数据分析:Numpy基础8 花式索引
  13. el-menu实现路由跳转及当前页的导航
  14. oracle连表图解,oracle 表连接方式解析
  15. python和按键精灵哪个稳定_按键精灵教程,学了这个你也能做出稳定的脚本
  16. RFC 协议下载方法
  17. 英语各种数字表达方式大全(转载)
  18. OpenLayers动画效果显示路线
  19. win10系统怎么把python卸载干净_Win10系统卸载python软件失败提示0x
  20. 自学Python第二十六天- Tornado 框架

热门文章

  1. java上传图片到阿里云oss云存储中,返回url链接地址
  2. 生活中的小技巧-2:洗衣机洗衣服打结缠绕,该如何解决?学上几个实用招数
  3. 天津达内聊H5 软键盘兼容方案
  4. Flash鼠绘入门第五课:绘制可口的樱桃-Flash鼠绘可口的樱桃(1)
  5. Node.js 官网入门教程(二) npm(安装、包版本、卸载、npx)、package.json(scripts、devDependencies)package-lock.json(语义版本规则符号
  6. 中西方对时间的差异_中西方时间观念差异_英文
  7. CF375C Circling Round Treasures(BFS+DP)
  8. C语言中“.”与“-”用法比较
  9. Greenplum实战--检查集群状态gpstate
  10. 浅探 进程的家族关系