CSS3在CSS2的基础上新增了大量实用特性,覆盖了布局、视觉效果、交互等多个开发场景,掌握常用特性可以大幅减少冗余代码,提升开发效率。下面整理了10个日常开发中最常用的CSS3知识,每个都附带可复用的代码示例。

1. 线性渐变(linear-gradient)
线性渐变可以快速实现背景色渐变效果,不需要切图,支持设置渐变方向、颜色节点和过渡范围。
/* 从左到右的蓝紫渐变 */
.gradient-box {
width: 200px;
height: 100px;
background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
}2. 径向渐变(radial-gradient)
径向渐变是从中心点向外扩散的渐变效果,适合实现圆形、椭圆形的渐变背景。
/* 中心向外的红橙径向渐变 */
.radial-box {
width: 150px;
height: 150px;
border-radius: 50%;
background: radial-gradient(circle, #ff6b6b 0%, #ffd93d 100%);
}3. 过渡效果(transition)
transition可以让元素样式变化时有平滑的过渡动画,不需要写复杂的JS逻辑,常用于 hover 交互效果。
.transition-btn {
padding: 10px 20px;
background: #409eff;
color: #fff;
border: none;
transition: all 0.3s ease;
}
.transition-btn:hover {
background: #337ecc;
transform: scale(1.05);
}4. 关键帧动画(@keyframes)
@keyframes可以定义复杂的动画序列,配合animation属性使用,实现多阶段的动画效果。
/* 定义旋转动画 */
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.animate-box {
width: 80px;
height: 80px;
background: #67c23a;
animation: rotate 2s linear infinite;
}5. Flex布局
Flex布局是一维布局模型,能快速实现元素的对齐、分布和排序,解决传统浮动布局的诸多问题。
.flex-container {
display: flex;
justify-content: space-between; /* 子元素两端对齐 */
align-items: center; /* 子元素垂直居中 */
height: 100px;
background: #f5f7fa;
}
.flex-item {
width: 60px;
height: 60px;
background: #909399;
}6. 盒阴影(box-shadow)
box-shadow可以给元素添加阴影效果,支持设置阴影偏移、模糊半径、扩散半径和颜色。
.shadow-card {
width: 200px;
height: 120px;
background: #fff;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
border-radius: 4px;
}7. 文本阴影(text-shadow)
text-shadow可以给文字添加阴影效果,提升文字的层次感,常用于标题样式设计。
.text-title {
font-size: 24px;
font-weight: bold;
color: #303133;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}8. 边框圆角(border-radius)
border-radius可以设置元素的圆角,支持单独设置四个角的半径,也能实现圆形效果。
/* 四个角都为8px圆角 */
.radius-box {
width: 100px;
height: 100px;
background: #e6a23c;
border-radius: 8px;
}
/* 圆形 */
.circle-box {
width: 80px;
height: 80px;
background: #f56c6c;
border-radius: 50%;
}9. 媒体查询(@media)
@media可以根据设备屏幕尺寸设置不同的样式,是实现响应式布局的核心特性。
/* 屏幕宽度小于768px时生效 */
@media screen and (max-width: 768px) {
.container {
padding: 10px;
}
.flex-container {
flex-direction: column; /* 子元素垂直排列 */
}
}10. 透明度(opacity)
opacity可以设置元素的整体透明度,取值范围是0到1,0为完全透明,1为完全不透明。
.opacity-box {
width: 120px;
height: 120px;
background: #409eff;
opacity: 0.7; /* 70%不透明度 */
}
.opacity-box:hover {
opacity: 1; /* hover时完全不透明 */
}以上10个CSS3知识覆盖了日常开发的大部分场景,熟练掌握后可以大幅提升样式开发效率,减少不必要的切图和JS逻辑。实际使用时可以根据需求灵活组合这些特性,实现更丰富的页面效果。