平板网页开发,px vs rem + 适配方案

  • 必须做适配,优先用 rem /em/vw 做弹性布局,px 只用于边框、阴影等不需要缩放的细节,纯 px 写死绝对不推荐。

一、先搞懂两个单位的区别

1. px(固定像素)

  • 绝对单位,写多少就是多少,不会随屏幕 / 字体大小变化
  • 适合:边框、1px 细线、阴影、图标固定大小
  • 缺点:平板横屏 / 竖屏、不同尺寸平板(7 寸 / 10 寸 / 12 寸)会拉伸变形、文字忽大忽小、布局错乱

2. rem(相对根节点字体大小)

  • 相对单位:1rem = html 标签的 font-size
  • 核心优势:一套代码适配所有平板 / 手机 / PC,自动等比缩放
  • 适合:文字、间距、宽高、padding、margin 等所有核心布局

方案:rem + 动态根字体(最稳、最通用)

1. 核心适配逻辑

设计稿宽度(比如 768px 平板设计稿)为基准,自动计算 html 的 font-size,所有元素用 rem 写。

2. 开箱即用适配代码(直接复制到项目,vue项目直接放在index.html中)

复制代码
<script>
      // 移动端 / 平板自适应适配(基准 16px,与 Tailwind rem 单位对齐)
      (function flexible(window, document) {
        const docEl = document.documentElement
        const designWidth = 768 // 平板设计稿宽度

        function setRemUnit() {
          let clientWidth = docEl.clientWidth
          // 限制最小/最大宽度,避免 PC 端过大
          clientWidth = Math.max(375, Math.min(clientWidth, 1200))
          // 基准:1rem = 16px(设计稿上量多少,直接 ÷16 就是 rem)
          docEl.style.fontSize = (clientWidth / designWidth) * 16 + 'px'
        }
        setRemUnit()
        window.addEventListener('resize', setRemUnit)
        window.addEventListener('pageshow', setRemUnit)
      })(window, document)
    </script>

3. 使用方式(超级简单)

  • 设计稿量出来:宽度 320px → 写 20rem
  • 设计稿字体:32px → 写 2rem
  • 边框 / 细线:直接用 px
  • tailwind ,也可以搭配tailwind用
相关推荐
xsc-xyc5 天前
用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步
linux·网络·网络安全·智能手机·电脑
Digitally5 天前
如何快速将文件从电脑传输到平板电脑
stm32·嵌入式硬件·电脑
想你依然心痛6 天前
手机远程控制电脑教程:安卓iOS远程桌面推荐、免费工具配置与远程办公技巧
android·智能手机·电脑
王小王-1236 天前
基于电脑硬件市场数据分析与可视化系统
数据库·数据分析·django·sqlite·电脑·电脑硬件数据·电脑硬件市场分析
老高学长6 天前
企业如何对局域网电脑进行监控?五个局域网电脑实时监控的方法分享,全方位监控电脑
网络·安全·电脑
herinspace6 天前
管家婆云辉煌开单优化
服务器·数据库·电脑·管家婆软件·财务软件
开开心心_Every6 天前
近200个工具的电脑故障修复合集
linux·运维·服务器·leetcode·智能手机·电脑·模拟退火算法
小葛要努力6 天前
安装nvm 管理node.js版本实现vue2和vue3项目共存
node.js·vue·nvm
云飞云共享云桌面6 天前
集中算力・统一数据・高效协同:SolidWorks 云桌面方案详解
运维·服务器·人工智能·安全·3d·电脑·制造
啦啦啦~~~3307 天前
【办公软件】开源的PDF合并分割工具!支持PDF拆分、合并、交替混合、页面旋转、提取页面等
阿里云·pdf·电脑·开源软件