自适应字体与最小字号
em 递归继承会导致什么问题?
- 机制: em 相对父元素 font-size 计算;
- 后果: 层级越深, 字号被逐层放大或缩小, 深层元素可能过小;
- 规避: 用 rem 或 em + vw 组合;
em + vw 如何让字体平滑缩放?
- vw: 随视口宽度线性变化;
- 组合:
calc(0.5em + 0.4 * vw)同时保留基准与视口响应;
:root {
font-size: calc(0.5em + 0.4 * vw);
}
如何用媒体查询做响应式根字号?
- 思路: 在断点处调整
:root的 font-size;
:root {
font-size: 0.75em;
}
@media (min-width: 800px) {
:root {
font-size: 0.875em;
}
}
@media (min-width: 1200px) {
:root {
font-size: 1em;
}
}
Chrome 的最小字号限制是什么?
- 机制: Chrome 中文最小字号默认为 12px;
- 后果: 直接设置更小字号会被抬高;
如何显示小于 12px 的文字?
- transform:
display: inline-block+transform: scale(0.8); - zoom:
zoom: 0.8;
.span10 {
font-size: 12px;
display: inline-block;
transform: scale(0.8);
}