用css html JavaScript 写一个鲜花绽放逼真的代码要求在500*500px的盒子中
时间: 2023-06-13 15:08:15 浏览: 143
好的,以下是一个简单的鲜花绽放效果的代码示例:
HTML:
```html
<div id="flower"></div>
```
CSS:
```css
#flower {
width: 500px;
height: 500px;
background: #fff;
position: relative;
}
#flower:before {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
border-radius: 50%;
background: radial-gradient(circle, #f00, #ff0, #0f0);
transform: translate(-50%, -50%);
opacity: 0;
z-index: 1;
}
#flower:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 80px;
height: 80px;
border-radius: 50%;
background: radial-gradient(circle, #f00, #ff0, #0f0);
transform: translate(-50%, -50%);
opacity: 0;
z-index: 2;
}
#flower:hover:before {
animation: bloom 1s forwards;
}
#flower:hover:after {
animation: bloom 1s forwards;
animation-delay: 0.3s;
}
@keyframes bloom {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0);
}
50% {
opacity: 1;
transform: translate(-50%, -50%) scale(1.2);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) scale(2);
}
}
```
JavaScript:
```javascript
// 没有任何 JavaScript 代码
```
解释:
这个示例中的花朵是使用 CSS 的伪元素 `:before` 和 `:after` 来实现的。这两个元素使用径向渐变来创建花瓣的颜色,并使用 `border-radius` 属性来创建圆形形状。`transform` 属性用于将花朵定位在盒子的中心。当鼠标悬停在盒子上时,`opacity` 属性将会被动画化,使花朵逐渐出现并消失。这个动画是使用 CSS 的 `@keyframes` 规则来实现的。
阅读全文