COSINE_FRONT_END Telegram 2839
#优质博文 #前端 #CSS #响应式设计 #可访问性 #视口单位 #排版 #打印
很棒的关于 CSS 长度单位的大合集介绍。
Making Sense of CSS Length Units

AI 摘要:文章以开发者视角概览 CSS 长度单位,强调 px 在高密度屏幕上已是“虚拟像素”并非绝对单位;屏幕端应优先 rem 以尊重用户字号设置提升可访问性,应用端用视口单位(viewport)适配全屏,打印场景用物理单位;并细分 vh/vw/vi/vb 及 sv*/lv*/dv* 的差别与适用时机,同时给出 em、% 的陷阱与 ch/ex/cap 等小众单位的用途。

1. 基础与绝对单位
• px 已虚拟化:在高像素密度(retina)设备上代表逻辑像素而非物理像素,因此不再“绝对”。
• 打印用物理单位:cm/mm/q/in/pc/pt 设计为打印介质;不同打印机 DPI 差异巨大,屏幕端不宜使用。
• 打印建议:为确保一致输出,优先使用打印友好单位或相对单位以适配不同分辨率。

2. 相对单位
• %(百分比):相对包含块(containing block);当元素 absolute 定位时,包含块判定更复杂,易出错。
• em:相对父元素 font-size,组件嵌套会累积放大/缩小,需谨慎。
• rem:相对根元素 html 的 font-size,组件在不同容器中保持一致尺寸;浏览器默认 16px,可用 html{font-size:62.5%} 将 1rem ≈ 10px(便于心算,非必须)。
• 可访问性(accessibility):以 rem 构建能尊重用户自定义字号;纯 px 布局可能忽略用户设置并导致可读性问题。

3. 视口单位(viewport)
• 基本单位:vh/vw(视口高/宽)、vmin/vmax(较小/较大维度),vi/vb 随书写方向(writing-mode)切换,横排时 vi≈vw、vb≈vh,竖排语言会反转。
• 尺寸变体:sv*(浏览器控件可见时的“小”视口)、lv*(控件隐藏时的“大”视口)、dv*(当前动态视口,随控件显隐变化)。未指明前缀的 v* 等同于 lv*。
• 实战提示:全屏布局用 dvh 更贴合当前高度;为避免移动端地址栏显隐导致跳动,可按需组合 svh/lvh/dvh。

4. “奇特”单位与适用场景
• ch(“0”的宽度)、ex(“x”的高度)、cap(大写字母高度,适合图标对齐文本)、ic(CJK“水”字宽度)、lh(父元素行高)、rlh(根元素行高)。
• 适配文字排版和细粒度对齐;因支持度差异,需评估兼容与降级策略。

5. 实践要点与推荐方案
• 打印:使用 mm 等物理单位获得精确尺寸,或配合相对单位确保跨设备一致性。
• 网页:以 rem 为主,选用 1rem=10px 的设定仅为心算便利;避免全用 px 影响可访问性。
• Web 应用:用 dvh/dvw 填充视口,结合 vi/vb 适配不同 writing-mode。
• 选型原则:优先考虑用户设置与设备独立性、布局稳定性与可维护性,再选最贴合场景的单位。

6. 常见陷阱
• 绝对定位元素用百分比时误判包含块,导致尺寸/位置异常。
• 盲目使用 px 使布局对用户字号调整不敏感,影响可读性与无障碍。
• 移动端 100vh 在地址栏显隐时引发布局跳动,应改用 dvh 或配合 svh/lvh。


author Oded Sharon



tgoop.com/cosine_front_end/2839
Create:
Last Update:

#优质博文 #前端 #CSS #响应式设计 #可访问性 #视口单位 #排版 #打印
很棒的关于 CSS 长度单位的大合集介绍。
Making Sense of CSS Length Units

AI 摘要:文章以开发者视角概览 CSS 长度单位,强调 px 在高密度屏幕上已是“虚拟像素”并非绝对单位;屏幕端应优先 rem 以尊重用户字号设置提升可访问性,应用端用视口单位(viewport)适配全屏,打印场景用物理单位;并细分 vh/vw/vi/vb 及 sv*/lv*/dv* 的差别与适用时机,同时给出 em、% 的陷阱与 ch/ex/cap 等小众单位的用途。

1. 基础与绝对单位
• px 已虚拟化:在高像素密度(retina)设备上代表逻辑像素而非物理像素,因此不再“绝对”。
• 打印用物理单位:cm/mm/q/in/pc/pt 设计为打印介质;不同打印机 DPI 差异巨大,屏幕端不宜使用。
• 打印建议:为确保一致输出,优先使用打印友好单位或相对单位以适配不同分辨率。

2. 相对单位
• %(百分比):相对包含块(containing block);当元素 absolute 定位时,包含块判定更复杂,易出错。
• em:相对父元素 font-size,组件嵌套会累积放大/缩小,需谨慎。
• rem:相对根元素 html 的 font-size,组件在不同容器中保持一致尺寸;浏览器默认 16px,可用 html{font-size:62.5%} 将 1rem ≈ 10px(便于心算,非必须)。
• 可访问性(accessibility):以 rem 构建能尊重用户自定义字号;纯 px 布局可能忽略用户设置并导致可读性问题。

3. 视口单位(viewport)
• 基本单位:vh/vw(视口高/宽)、vmin/vmax(较小/较大维度),vi/vb 随书写方向(writing-mode)切换,横排时 vi≈vw、vb≈vh,竖排语言会反转。
• 尺寸变体:sv*(浏览器控件可见时的“小”视口)、lv*(控件隐藏时的“大”视口)、dv*(当前动态视口,随控件显隐变化)。未指明前缀的 v* 等同于 lv*。
• 实战提示:全屏布局用 dvh 更贴合当前高度;为避免移动端地址栏显隐导致跳动,可按需组合 svh/lvh/dvh。

4. “奇特”单位与适用场景
• ch(“0”的宽度)、ex(“x”的高度)、cap(大写字母高度,适合图标对齐文本)、ic(CJK“水”字宽度)、lh(父元素行高)、rlh(根元素行高)。
• 适配文字排版和细粒度对齐;因支持度差异,需评估兼容与降级策略。

5. 实践要点与推荐方案
• 打印:使用 mm 等物理单位获得精确尺寸,或配合相对单位确保跨设备一致性。
• 网页:以 rem 为主,选用 1rem=10px 的设定仅为心算便利;避免全用 px 影响可访问性。
• Web 应用:用 dvh/dvw 填充视口,结合 vi/vb 适配不同 writing-mode。
• 选型原则:优先考虑用户设置与设备独立性、布局稳定性与可维护性,再选最贴合场景的单位。

6. 常见陷阱
• 绝对定位元素用百分比时误判包含块,导致尺寸/位置异常。
• 盲目使用 px 使布局对用户字号调整不敏感,影响可读性与无障碍。
• 移动端 100vh 在地址栏显隐时引发布局跳动,应改用 dvh 或配合 svh/lvh。


author Oded Sharon

BY cosine - 前端人の日常频道




Share with your friend now:
tgoop.com/cosine_front_end/2839

View MORE
Open in Telegram


Telegram News

Date: |

It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): fire bomb molotov November 18 Dylan Hollingsworth yau ma tei The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. 6How to manage your Telegram channel?
from us


Telegram cosine - 前端人の日常频道
FROM American