红包雨代码编写
为什么我和老师写的一样,运行出来什么也么没有,
为什么我和老师写的一样,运行出来什么也么没有,
2019-11-26
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>rain animation</title>
<style>
body, html {
margin: 0;
padding: 0;
}
body {
perspective: 700px;
background: linear-gradient(#3d748f, #b8d3e0);
height: 100vh;
}
.rain-box {
position: relative;
}
.rain-box .raindrop {
position: absolute;
background-clip: content-box;
box-sizing: border-box;
width: 30px;
height: 40px;
color: #3d588f;
border-top: solid 0;
border-bottom: solid 40px;
border-left: solid 15px transparent;
border-right: solid 15px transparent;
border-radius: 50%;
animation: raindrop 2s infinite ease-in-out;
opacity: 0;
transform: scale(0.5);
}
@keyframes raindrop {
10% {
opacity: 1;
}
90% {
transform: scale(1.5) translate3d(0, calc(100vh - 1000%), 10px) rotateX(30deg);
}
}
/*# sourceMappingURL=css-rain.css.map */
</style>
</head>
<body>
<div class="rain-box">
<!--雨滴-->
<!--<div class="raindrop"></div>-->
</div>
<script>
const rainCount = 200,
rainFragment = document.createDocumentFragment(),
clientWidth = document.documentElement.clientWidth,
clientHeight = document.documentElement.clientHeight;
for (let i = 0; i < rainCount; i++) {
let rainEle = document.createElement('div');
rainEle.className = 'raindrop';
rainEle.style.left = ~~(Math.random() * (clientWidth - 40)) + 'px';
rainEle.style.animationDelay = (Math.random() * rainCount / 2).toFixed(2) + 's';
rainFragment.appendChild(rainEle)
}
document.querySelector('.rain-box').appendChild(rainFragment)
</script>
</body>
</html><template>
<view class="content" ref="content">
<view
class="water"
v-for="item of count"
:key="item.id"
:class="getClass()"
:style="getStyle()"
>
</view>
</view>
</template>
<script>
export default{
name:"rain",
props: {
count: {
type: Number,
default: 30
},
},
data(){
return{
}
},
methods:{
getClass() {
return `hbsd-${Math.floor(Math.random() * 50 + 30)}`;
},
getStyle() {
return `left:${Math.random() * 100}%;top:${Math.random() * 30}px`;
}
}
}
</script>
<style scoped>
.content
position relative
height 100%
background-color #f2f2f2
.water
position absolute
width 16rpx
height 24rpx
background #ccc
clip-path ellipse(20% 60% at 50% 50%)
// animation drops 2s cubic-bezier(0.82, -0.01, 0.81, 0.92) infinite
for $i in 1...100
.hbsd-{$i}
animation drops ($i/20)s cubic-bezier(0.82, -0.01, 0.81, 0.92) infinite
@keyframes drops
0%{
opacity 0
}
20%{
opacity 1
}
90%{
opacity 1
}
100%{
opacity 0
transform translate3d(10px,100vh,-10px)
}
</style>
举报