> 技术文档 > 移动端网页设计vm+rem,和px实现方式对比

移动端网页设计vm+rem,和px实现方式对比

vscode安装cssrem插件

<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>移动端复杂布局示例(px)</title><style>html { font-size: calc(100vw / 375 * 100); /* 1rem = 设计稿100px */}html, body { margin: 0; padding: 0; overflow-x: hidden; /* 防止横向滚动条 */}/* Banner */.banner { width: 375px; /* 固定宽度,等于设计稿宽 */ height: 150px; background-color: #4CAF50; color: white; display: flex; justify-content: center; align-items: center; font-size: 24px; margin: 0 auto;}/* 轮播图 */.carousel img { width: 375px; height: 150px; display: block; margin: 0 auto;}/* 功能卡片 */.features { display: flex; justify-content: space-around; width: 375px; padding: 20px 0; margin: 0 auto;}.feature { width: 80px; height: 80px; background-color: #FFC107; border-radius: 10px; display: flex; justify-content: center; align-items: center; font-size: 18px;}/* 文章列表 */.articles { width: 375px; padding: 15px; margin: 0 auto;}.article { background: #f0f0f0; padding: 15px; margin-bottom: 10px; border-radius: 15px;}.article h3 { font-size: 20px; margin: 0 0 5px 0;}.article p { font-size: 16px; margin: 0;}/* 按钮 */.btn { display: block; width: 300px; height: 50px; margin: 20px auto; font-size: 18px; background-color: #2196F3; color: white; border: none; border-radius: 5px;}</style></head><body><header class=\"banner\">头部 Banner</header><section class=\"carousel\"> <img src=\"https://placehold.co/375x150.png?text=Placeholder+Image\" alt=\"轮播图\"></section><section class=\"features\"> <div class=\"feature\">功能1</div> <div class=\"feature\">功能2</div> <div class=\"feature\">功能3</div> <div class=\"feature\">功能4</div></section><section class=\"articles\"> <div class=\"article\"> <h3>文章标题1</h3> <p>文章摘要内容,固定 px 单位显示</p> </div> <div class=\"article\"> <h3>文章标题2</h3> <p>文章摘要内容,固定 px 单位显示</p> </div></section><button class=\"btn\">立即体验</button></body></html>

适配

<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>移动端复杂布局示例(px)</title><style>html { font-size: calc(100vw / 375 * 100); /* 100px = 设计稿1rem */}html, body { margin: 0; padding: 0; overflow-x: hidden; /* 防止横向滚动条 */}/* Banner */.banner { width: 3.75rem; /* 固定宽度,等于设计稿宽 */ height: 1.5rem; background-color: #4CAF50; color: white; display: flex; justify-content: center; align-items: center; font-size: .24rem; margin: 0 auto;}/* 轮播图 */.carousel img { width: 3.75rem; height: 1.5rem; display: block; margin: 0 auto;}/* 功能卡片 */.features { display: flex; justify-content: space-around; width: 3.75rem; padding: .2rem 0; margin: 0 auto;}.feature { width: .8rem; height: .8rem; background-color: #FFC107; border-radius: .1rem; display: flex; justify-content: center; align-items: center; font-size: .18rem;}/* 文章列表 */.articles { width: 3.75rem; padding: .15rem; margin: 0 auto;}.article { background: #f0f0f0; padding: .15rem; margin-bottom: .1rem; border-radius: .15rem;}.article h3 { font-size: .2rem; margin: 0 0 .05rem 0;}.article p { font-size: .16rem; margin: 0;}/* 按钮 */.btn { display: block; width: 3rem; height: .5rem; margin: .2rem auto; font-size: .18rem; background-color: #2196F3; color: white; border: none; border-radius: .05rem;}</style></head><body><header class=\"banner\">头部 Banner</header><section class=\"carousel\"> <img src=\"https://placehold.co/375x150.png?text=Placeholder+Image\" alt=\"轮播图\"></section><section class=\"features\"> <div class=\"feature\">功能1</div> <div class=\"feature\">功能2</div> <div class=\"feature\">功能3</div> <div class=\"feature\">功能4</div></section><section class=\"articles\"> <div class=\"article\"> <h3>文章标题1</h3> <p>文章摘要内容,固定 px 单位显示</p> </div> <div class=\"article\"> <h3>文章标题2</h3> <p>文章摘要内容,固定 px 单位显示</p> </div></section><button class=\"btn\">立即体验</button></body></html>