news 2026/6/23 20:40:22

px 与 em(简明指南)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
px 与 em(简明指南)

简介
在前端开发中,px 和 em 是最常见的两种长度单位。理解它们的语义与使用场景,有助于实现更可访问、响应性更好的界面。

什么是 px?
- px(像素)是绝对单位,表示屏幕上的一个逻辑像素点(与设备像素比有关)。
- 优点:精确、直观,适合像图标边框等需要“像素级”控制的场景。
- 缺点:不随用户字体缩放或父元素字体变化而改变,若滥用会影响可访问性和响应性。

什么是 em?
- em 是相对单位,基于当前元素的字体大小:1em 等于该元素当前的 font-size。
- 如果元素没有显式 font-size,则继承父元素,所以 em 值会随着嵌套层级累积变化。
- 优点:可随上下文缩放,适合做组件内部的间距/排版,使组件随字体大小自适应。
- 缺点:嵌套时计算复杂,可能导致非预期放大/缩小。

补充:rem(根 em)
- rem 相对于根元素(通常是 html)的 font-size。相比 em,rem 更稳定,便于全局控制响应式排版。

常用转换公式与示例
- em = px ÷ 基准字体大小(通常基准为 16px)
例如:24px → 24 ÷ 16 = 1.5em
- px = em × 基准字体大小
例如:1.5em → 1.5 × 16 = 24px

示例 CSS(演示用)
```css
:root {
font-size: 16px; /* 基准(rem) */
}

/* 使用 rem 做全局尺寸 */
h1 { font-size: 2rem; } /* 32px */

/* 使用 em 做组件内部相对尺寸 */
.card { font-size: 16px; padding: 1em; } /* padding 与文字大小一致 */
.card small { font-size: 0.875em; } /* 相对 .card 的字体 */
```

实用建议(Best practices)
- 使用 rem 管理全局文本与主要断点,便于实现响应式字体(通过调整 html 的 font-size)。
- 在组件内部用 em 做内边距、间距,使组件随字体缩放。
- 对需要精确像素对齐的元素(边框、图标)可用 px。
- 避免深度嵌套导致 em 链式放大;想要稳定结果则优先 rem。
- 考虑用户可访问性:允许浏览器或用户调整字体大小,避免大量使用固定 px 导致文本不可读。

小结
px 提供精确控制,em(及 rem)提供可扩展与可访问的相对尺寸。合理搭配 rem(全局)、em(局部)与 px(像素级细节),能兼顾视觉一致性与用户体验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 14:33:19

如何快速完成ONVIF设备兼容性测试:终极工具使用指南

如何快速完成ONVIF设备兼容性测试:终极工具使用指南 【免费下载链接】ONVIF设备测试工具v22.12 本仓库提供了一个名为 **ONVIF-Device-TestTool-v22.12** 的资源文件下载。该工具是ONVIF设备测试工具的最新版本,版本号为v22.12 项目地址: https://gitc…

作者头像 李华
网站建设 2026/6/23 9:47:25

如何快速获取IEC 61400-1-2019风电设计标准:权威资源下载指南

如何快速获取IEC 61400-1-2019风电设计标准:权威资源下载指南 【免费下载链接】IEC61400-1-2019风电设计标准资源下载分享 IEC 61400-1-2019风电设计标准资源下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/b44c3 想要获取最新版的…

作者头像 李华
网站建设 2026/6/23 17:48:17

什么是spring boot

Spring Boot 概述Spring Boot 是一个基于 Spring 框架的开源 Java 开发框架,旨在简化 Spring 应用的初始搭建和开发过程。它通过自动配置、内嵌服务器和约定优于配置的原则,显著减少了开发者的配置工作量,使得快速构建独立、生产级的 Spring …

作者头像 李华
网站建设 2026/6/22 20:22:42

静态文件处理与模板渲染深度指南

目录静态文件处理与模板渲染深度指南1. 引言:Web应用的核心架构 {#引言}1.1 静态文件处理的演进历程1.2 模板渲染的重要性2. 静态文件处理原理与技术 {#静态文件原理}2.1 静态文件服务的基本原理2.2 静态文件服务器实现2.3 HTTP缓存策略3. 现代静态文件服务架构 {#现…

作者头像 李华
网站建设 2026/6/23 4:37:29

从功能测试到自动化架构师:破茧成蝶的技术蜕变之旅

测试行业的时代变革随着敏捷开发与DevOps理念的深入实践,软件测试已从单纯的质量关卡进化成为驱动研发效能的核心引擎。在这个技术快速迭代的时代,测试人员正面临着从"业务验证者"到"质量赋能者"的角色转变。第一阶段:功…

作者头像 李华
网站建设 2026/6/23 15:25:47

短视频程序源码,实现一个简单的websocket

短视频程序源码,实现一个简单的websocket 实现简单的websocket,只需要几步: 1、引入socket.io组件; 2、前端初始化页面时,监听socket.on(‘chatMsg’, () > xxx); 3、需要发送事件时,触发socket.emit(‘chatMsg’, …

作者头像 李华