用html+css画一个星星
时间: 2023-10-27 13:07:23 浏览: 405
好的,下面是html和css代码,可以在浏览器中查看:
HTML代码:
```html
<div class="star"></div>
```
CSS代码:
```css
.star {
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 17.3px 10px;
border-color: transparent transparent #f8ce0b transparent;
transform: rotate(30deg);
}
```
解释一下上述代码:
1. 在HTML中用一个div元素来表示星星,类名为“star”。
2. 在CSS中设置了该div元素的样式:
- 宽度和高度都为0,因为我们需要用边框来画出星星。
- 设置边框样式为实线(solid)。
- 设置边框宽度,上方(第一个值)为0,因为我们不需要画上方的边框;左右两侧(第二个和第四个值)为10个像素,大小可以自己调整;底部(第三个值)为正三角形的高度,我们用正三角形来表示星星的底部,大小为10像素可以自己调整。
- 设置边框颜色,上方为透明(transparent),两侧也为透明;底部为黄色(#f8ce0b),自己可以根据需要修改。
- 使用transform属性来旋转星星,这里设置为30度,如果需要旋转到其他角度可以修改。
这样就完成了一个简单的星星,保存代码并在浏览器中打开即可看到效果。
相关问题
使用画布和css画一个星星闪烁的背景图
好的,下面是一个使用画布和CSS实现星星闪烁的背景图的示例代码:
HTML:
```
<canvas id="stars"></canvas>
<div class="background"></div>
```
CSS:
```
body {
margin: 0;
padding: 0;
overflow: hidden;
}
#stars {
position: absolute;
top: 0;
left: 0;
z-index: -1;
}
.background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
opacity: 0.8;
}
```
JavaScript:
```
var canvas = document.getElementById('stars');
var ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var stars = [];
for (var i = 0; i < 100; i++) {
stars.push({
x: Math.random() * canvas.width,
y: Math.random() * canvas.height,
radius: Math.random() * 1.5 + 0.5,
alpha: Math.random() * 0.5 + 0.5,
direction: Math.random() < 0.5 ? -1 : 1
});
}
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < stars.length; i++) {
var star = stars[i];
ctx.beginPath();
ctx.arc(star.x, star.y, star.radius, 0, Math.PI * 2);
ctx.fillStyle = 'rgba(255, 255, 255,' + star.alpha + ')';
ctx.fill();
star.x += star.direction * 0.1;
if (star.x < 0 || star.x > canvas.width) {
star.direction = -star.direction;
}
}
requestAnimationFrame(draw);
}
draw();
```
这个代码将创建一个画布和一个半透明的黑色背景,并在画布上绘制100个随机闪烁的星星。星星将根据随机方向以0.1的速度移动,当星星到达画布的边缘时将改变方向。通过动画循环绘制星星,使其闪烁。
请注意,此示例代码的效果可能因浏览器和设备而异,具体效果可能需要根据您的具体需求进行调整。
CSS动画实现漫天星星闪烁效果
CSS动画可以轻松地创建出漫天星星闪烁的效果。这种效果通常通过关键帧动画(@keyframes)和`animation`属性来实现。以下是基本步骤:
1. **创建关键帧**:
创建一个名为`star-flashing`的关键帧动画,比如从0%到100%,定义星星的状态变化。例如,你可以让星星从透明度100%变为0%,然后立即回到100%,模拟闪烁。
```css
@keyframes star-flashing {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
```
2. **应用动画到元素**:
将这个动画应用于代表星星的HTML元素,如`.star`。设置动画的持续时间、频率以及是否循环播放。
```css
.star {
animation: star-flashing 1s ease-in-out infinite;
}
```
这里假设`.star`是一个带有class的div,其中包含你的“星星”元素。`1s`表示动画的总时长,`ease-in-out`提供平滑的开始和结束,`infinite`则让动画无限循环。
阅读全文