CSS单位详解
rem、em、vw、vh的区别与应用场景
当前分辨率
1920 × 1080
单位特性对比
单位 | 基于 | 特点 | 响应式 |
---|---|---|---|
rem | 根元素(html)字体大小 | 相对于基准值,不受父元素影响 | 优秀 |
em | 当前元素字体大小 | 受父元素字体大小影响 | 良好(需注意继承) |
vw | 视口宽度的1% | 直接与视口宽度关联 | 极佳 |
vh | 视口高度的1% | 直接与视口高度关联 | 极佳 |
提示:调整浏览器窗口大小或使用下方控制面板,观察各单位的响应变化
单位效果演示
rem 单位 (15rem = 15 × 根字体大小)
em 单位 (15em = 15 × 当前字体大小)
vw 单位 (30vw = 30% 视口宽度)
vh 单位 (15vh = 15% 视口高度)
实际应用场景
rem - 字体与间距
使用rem设置字体大小和间距,确保整个设计比例一致。只需更改根字体大小即可全局调整比例。
html { font-size: 16px; }
h1 { font-size: 2.5rem; } /* 40px */
p { margin-bottom: 1.5rem; } /* 24px */
h1 { font-size: 2.5rem; } /* 40px */
p { margin-bottom: 1.5rem; } /* 24px */
vw/vh - 全屏元素
创建全屏区域、保持宽高比或设置与视口相关的尺寸,如图片轮播、英雄区域等。
.hero-section {
width: 100vw;
height: 100vh;
}
.banner {
font-size: 5vw; /* 响应式字体 */
}
width: 100vw;
height: 100vh;
}
.banner {
font-size: 5vw; /* 响应式字体 */
}
em - 相对间距
在组件内部使用em设置内边距、外边距等,使间距与组件字体大小成比例变化。
.card {
font-size: 18px;
padding: 1.5em; /* 27px */
}
.card-title {
margin-bottom: 0.8em; /* 基于自身字体大小 */
}
font-size: 18px;
padding: 1.5em; /* 27px */
}
.card-title {
margin-bottom: 0.8em; /* 基于自身字体大小 */
}
评论 (0)