css单位换算及适配

B站影视 内地电影 2025-09-21 17:25 1

摘要:你这个问题很常见,涉及CSS 的长度单位、响应式设计和适配。我给你梳理一下常见单位、换算规则,以及在项目中如何做适配。

你这个问题很常见,涉及 CSS 的长度单位、响应式设计和适配。我给你梳理一下常见单位、换算规则,以及在项目中如何做适配。

1rem = 16px32px = 2rem

一般移动端会动态设置根元素的 font-size,比如:

// flexible.js 示例const setRem = => {const baseSize = 16const scale = document.documentElement.clientWidth / 375 // 以设计稿 375px 为基准document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'}window.onresize = setRemsetRem

这样页面会随屏幕宽度变化自动适配。

1vw = 屏幕宽度的 1%。

假设设计稿宽度是 375px:

375px = 100vw1px = 100 / 375 ≈ 0.2667vw

所以:

/* 设计稿上 20px */width: 20px;/* 转换后 */width: 5.333vw; /* (20/375)*100 */

可以配合 PostCSS 插件自动转换(推荐 postcss-px-to-viewport)。

如果父元素 font-size: 16px:

@media screen and (max-width: 768px) {body { font-size: 14px; }}@media screen and (min-width: 769px) {body { font-size: 16px; }}PC 端和移动端分开写规则。适合复杂的多端适配。

来源:子琳教育

相关推荐