用css html js 给我写一个圣诞树
时间: 2023-03-04 19:35:56 浏览: 94
好的,以下是一个使用HTML,CSS和JavaScript创建的简单的圣诞树:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>圣诞树</title>
<style>
#tree {
position: relative;
width: 150px;
height: 200px;
margin: 50px auto;
}
#tree:before {
content: "";
position: absolute;
top: 0;
left: 50%;
margin-left: -10px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 20px solid green;
}
#tree:after {
content: "";
position: absolute;
top: 20px;
left: 50%;
margin-left: -50px;
width: 100px;
height: 150px;
background-color: green;
}
.ornament {
position: absolute;
border-radius: 50%;
}
.ornament1 {
background-color: red;
top: 40px;
left: 70px;
width: 20px;
height: 20px;
}
.ornament2 {
background-color: blue;
top: 70px;
left: 50px;
width: 15px;
height: 15px;
}
.ornament3 {
background-color: yellow;
top: 90px;
left: 80px;
width: 25px;
height: 25px;
}
</style>
</head>
<body>
<div id="tree">
<div class="ornament ornament1"></div>
<div class="ornament ornament2"></div>
<div class="ornament ornament3"></div>
</div>
<script>
// 添加动画效果
let ornaments = document.querySelectorAll(".ornament");
ornaments.forEach((ornament) => {
ornament.style.animation = `swing ${
Math.random() * 2 + 1
}s ease-in-out infinite alternate`;
});
</script>
</body>
</html>
```
CSS代码:
- 使用`#tree:before`和`#tree:after`创建圣诞树的形状;
- 使用`.ornament`,`.ornament1`,`.ornament2`和`.ornament3`创建装饰品;
- `.ornament`类设置位置和圆形形状;
- `.ornament1`,`.ornament2`和`.ornament3`类设置颜色,大小和位置;
- 使用`animation`属性添加动画效果。
JavaScript代码:
- 使用`document.querySelectorAll`选择所有的`.ornament`元素;
- 使用`forEach`循环所有的元素,并使用`style.animation`属性为每个元素添加随机的摆动动画效果。
以上代码生成一个简单的圣诞树,包括三个圆形装饰品,并添加了摆动动画效果。可以在浏览器中打开HTML文件查看效果。
阅读全文