name: responsive-web-design description: 使用Flexbox、CSS Grid和媒体查询以移动优先方法构建自适应web界面。适用于创建多设备布局、实施灵活UI系统或确保跨浏览器兼容性。
响应式网页设计
使用现代CSS技术为所有屏幕尺寸构建自适应界面。
移动优先媒体查询
/* 基础:移动端(320px+) */
.container {
padding: 1rem;
}
/* 平板(640px+) */
@media (min-width: 640px) {
.container {
padding: 2rem;
max-width: 640px;
margin: 0 auto;
}
}
/* 桌面(1024px+) */
@media (min-width: 1024px) {
.container {
max-width: 1024px;
}
}
灵活网格
.grid {
display: grid;
gap: 1rem;
grid-template-columns: 1fr; /* 移动端:单列 */
}
@media (min-width: 640px) {
.grid {
grid-template-columns: repeat(2, 1fr); /* 平板:2列 */
}
}
@media (min-width: 1024px) {
.grid {
grid-template-columns: repeat(3, 1fr); /* 桌面:3列 */
}
}
流体排版
/* 在断点间平滑缩放 */
h1 {
font-size: clamp(1.5rem, 4vw, 3rem);
}
p {
font-size: clamp(1rem, 2vw, 1.25rem);
}
响应式图像
img {
max-width: 100%;
height: auto;
}
.hero-image {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
}
Flexbox导航
.nav {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
@media (min-width: 768px) {
.nav {
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}
最佳实践
- 首先从移动端样式开始
- 使用灵活单位(%、rem、vw)
- 在真实设备上测试
- 确保最小48px触摸目标
- 保持可读的行长(45-75个字符)
- 使用CSS Grid处理二维布局,Flexbox处理一维布局