使用css制作齿轮
使用CSS制作齿轮
基本结构
通过HTML创建一个容器元素,通常使用div标签,并为其添加一个类名以便CSS选择器定位。例如:
<div class="gear"></div>
齿轮主体样式
使用CSS设置齿轮的圆形基础形状和颜色:

.gear {
width: 100px;
height: 100px;
background-color: #3498db;
border-radius: 50%;
position: relative;
}
添加齿轮齿
通过伪元素(::before和::after)或子元素创建齿轮的齿。以下是使用伪元素的示例:
.gear::before {
content: "";
position: absolute;
width: 20px;
height: 40px;
background-color: #2980b9;
top: -20px;
left: 40px;
border-radius: 5px;
}
旋转多个齿轮齿
使用CSS的transform属性旋转多个伪元素或子元素,模拟齿轮的多个齿:

.gear::after {
content: "";
position: absolute;
width: 20px;
height: 40px;
background-color: #2980b9;
top: -20px;
left: 40px;
border-radius: 5px;
transform: rotate(45deg);
transform-origin: 50% 70px;
}
动画效果
为齿轮添加旋转动画,使其看起来像在转动:
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.gear {
animation: spin 4s linear infinite;
}
完整示例
结合以上代码,完整的HTML和CSS如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Gear</title>
<style>
.gear {
width: 100px;
height: 100px;
background-color: #3498db;
border-radius: 50%;
position: relative;
animation: spin 4s linear infinite;
}
.gear::before,
.gear::after {
content: "";
position: absolute;
width: 20px;
height: 40px;
background-color: #2980b9;
top: -20px;
left: 40px;
border-radius: 5px;
}
.gear::after {
transform: rotate(45deg);
transform-origin: 50% 70px;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
</style>
</head>
<body>
<div class="gear"></div>
</body>
</html>
进阶优化
- 使用更多的伪元素或子元素增加齿轮齿的数量。
- 调整齿轮齿的大小和形状,使其更逼真。
- 添加阴影或渐变效果增强立体感。
通过以上方法,可以轻松使用CSS创建一个动态的齿轮效果。






