css案例制作
CSS案例制作指南
响应式导航栏
通过Flexbox或Grid布局实现自适应导航栏,兼容移动端与桌面端。关键代码:
.navbar {
display: flex;
justify-content: space-between;
padding: 1rem;
background: #333;
}
@media (max-width: 768px) {
.navbar {
flex-direction: column;
}
}
卡片悬停效果
使用transform和transition属性创建交互式卡片:
.card {
transition: all 0.3s ease;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
渐变背景动画
结合background属性和keyframes实现动态渐变:
@keyframes gradientBG {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.animated-bg {
background: linear-gradient(45deg, #ff9a9e, #fad0c4);
background-size: 400% 400%;
animation: gradientBG 5s ease infinite;
}
自定义复选框
替换原生checkbox样式:
input[type="checkbox"] {
appearance: none;
width: 20px;
height: 20px;
border: 2px solid #3498db;
border-radius: 4px;
position: relative;
}
input[type="checkbox"]:checked::before {
content: "✓";
position: absolute;
color: #3498db;
font-weight: bold;
left: 2px;
}
视差滚动效果
通过background-attachment创建层次感:
.parallax {
background-image: url('bg.jpg');
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
height: 100vh;
}
文字描边效果
使用text-shadow模拟描边:
.stroked-text {
color: white;
text-shadow:
-1px -1px 0 #000,
1px -1px 0 #000,
-1px 1px 0 #000,
1px 1px 0 #000;
}
加载动画
纯CSS实现旋转加载指示器:
.loader {
width: 40px;
height: 40px;
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
注意事项
- 保持代码模块化,使用CSS变量维护主题色等通用属性
- 优先使用现代布局技术如Flexbox/Grid
- 动画性能优化:优先使用transform/opacity属性
- 添加适当的浏览器前缀保证兼容性
- 通过CSS预处理器(如Sass)提升可维护性







