css制作笑脸
使用CSS制作笑脸
通过CSS的border-radius和transform属性可以轻松创建一个简单的笑脸图形。以下是一个完整的实现方法:
HTML结构:
<div class="smiley">
<div class="eyes">
<div class="eye left"></div>
<div class="eye right"></div>
</div>
<div class="mouth"></div>
</div>
CSS样式:

.smiley {
width: 200px;
height: 200px;
background-color: #FFD700;
border-radius: 50%;
position: relative;
margin: 50px auto;
}
.eye {
width: 30px;
height: 40px;
background: #000;
border-radius: 50%;
position: absolute;
top: 50px;
}
.left {
left: 50px;
}
.right {
right: 50px;
}
.mouth {
width: 80px;
height: 40px;
border-bottom: 5px solid #000;
border-radius: 0 0 50px 50px;
position: absolute;
bottom: 50px;
left: 60px;
}
添加动画效果
可以为笑脸添加简单的动画效果,使其更生动:
.smiley:hover .mouth {
height: 20px;
border-radius: 50px 50px 0 0;
border-top: 5px solid #000;
border-bottom: 0;
transform: translateY(10px);
}
.eye {
transition: all 0.3s ease;
}
.smiley:hover .eye {
height: 30px;
transform: translateY(5px);
}
纯CSS单元素笑脸
使用伪元素可以仅用一个div元素创建笑脸:

HTML:
<div class="simple-smiley"></div>
CSS:
.simple-smiley {
width: 100px;
height: 100px;
background: #FFD700;
border-radius: 50%;
position: relative;
}
.simple-smiley::before,
.simple-smiley::after {
content: '';
position: absolute;
width: 15px;
height: 20px;
background: #000;
border-radius: 50%;
top: 30px;
}
.simple-smiley::before {
left: 25px;
}
.simple-smiley::after {
right: 25px;
}
.simple-smiley {
box-shadow: inset 0 -15px 0 -5px #000;
border-radius: 50% 50% 40% 40%;
}
响应式笑脸设计
使用CSS变量和视口单位可以使笑脸响应不同屏幕尺寸:
:root {
--smiley-size: min(20vw, 200px);
}
.responsive-smiley {
width: var(--smiley-size);
height: var(--smiley-size);
/* 其余样式与基础笑脸相同 */
}
这些方法展示了使用CSS创建笑脸的不同技术,从基础实现到高级技巧,可以根据项目需求选择适合的方案。






