h5实现响应式代码
响应式设计基础
H5实现响应式设计主要依靠HTML5和CSS3的特性,通过媒体查询(Media Queries)、弹性布局(Flexbox)和网格布局(Grid)等技术实现。核心目标是让页面在不同设备上自动适配显示。
使用Viewport元标签
在HTML的<head>中添加viewport元标签,确保页面在移动设备上正确缩放:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
媒体查询实现断点适配
通过CSS媒体查询定义不同屏幕尺寸下的样式:
/* 默认样式(移动设备优先) */
body {
font-size: 14px;
}
/* 平板设备(768px及以上) */
@media (min-width: 768px) {
body {
font-size: 16px;
}
}
/* 桌面设备(1024px及以上) */
@media (min-width: 1024px) {
body {
font-size: 18px;
}
}
弹性布局(Flexbox)
使用Flexbox实现灵活的容器布局:
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.item {
flex: 1 0 200px; /* 基础宽度200px,允许伸缩 */
margin: 10px;
}
网格布局(Grid)
通过CSS Grid实现复杂响应式布局:
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 20px;
}
响应式图片
使用srcset和sizes属性实现图片响应式加载:
<img src="small.jpg"
srcset="small.jpg 500w, medium.jpg 1000w, large.jpg 1500w"
sizes="(max-width: 600px) 480px, 800px"
alt="响应式图片">
REM单位适配
结合JavaScript动态计算根字体大小:
document.documentElement.style.fontSize =
Math.min(window.innerWidth, window.innerHeight) / 100 + 'px';
常见断点参考
移动端优先的典型断点设置:
/* 超小设备(手机,小于576px) */
/* 默认样式无需媒体查询 */
/* 小设备(平板,576px及以上) */
@media (min-width: 576px) { ... }
/* 中等设备(平板横屏/小桌面,768px及以上) */
@media (min-width: 768px) { ... }
/* 大设备(桌面,992px及以上) */
@media (min-width: 992px) { ... }
/* 超大设备(大桌面,1200px及以上) */
@media (min-width: 1200px) { ... }






