需求:黑夜,无数不同位置的星星闪烁,hover星星放大,转动180度
实现黑夜
黑夜利用 background: #000;,占满屏幕
1 | html,body{ |
一颗星星放大闪烁
布局一颗星星,用span标签代表一颗星星,后面用js创建随机位置的星星
1 | span{ |
放大旋转利用 transform: scale(3, 3) rotate(180deg)
不断闪烁利用:animation: flash 1s alternate infinite;
不同位置及大小的星星
给span设置position: absolute;,在生成的span中设置left,top,但left,top大小必须在网页范围
1 | // 2.创建星星 |
- 小问题:有时候会出现滚动条,为什么?不是x,y都是可视区吗?是因为加上小星星的30px就超出了,所以解决方式有两种:
给body设置
overflow: hidden;Math.random() * width;`减掉30px
利用let scale = Math.random() * 2;实现随即大小的星星
还有个小问题,hover后没有旋转变大?是因为transform:优先级不够高
,加上!important解决