【发布时间】:2012-03-14 18:31:41
【问题描述】:
前提是我使用 monospace 作为我的 font-family,但它似乎无法正常工作,我尝试了一些解决方案,但其中没有一个工作,我的HTML结构如下:
<!DOCTYPE html>
<style>
body {
font-family: monospace;
letter-spacing: 0;
word-spacing: 0;
font-size: 32px; /* large enough to see the effect */
}
div:last-of-type {
padding-left: 1em; /* what's the value? */
}
</style>
<div>123456</div>
<div>abcdef</div>
-
使用 em
em 应该等于 computed font-size 值,但 padding-left: 1em; 不起作用:
-
使用 px
padding-left: 32px; 产生与 padding-left: 1em; 相同的输出。
-
使用ex
ex 应该是字母“x”的计算高度,它也不起作用:
-
使用 ch
好的,webkit 不支持 ch 作为 css 单元。
那么如何编写css来准确缩进第二个div一个字符宽度,即第一个'0'应该与字母'b'左对齐,没有任何偏差.
【问题讨论】:
-
em 和 ex 测量字体 height,而不是宽度。您可以尝试
div:last-of-type:before {content:"\00A0"},但这也不适用于所有浏览器。 -
仅供参考,您可以使用
text-indent:-1ex;padding-left:1ex;缩进一段文本(任何大小的文本,多行文本) -
@RobW 是的,你可以,但 1ex 不是字符的宽度,这是 OP 的问题。
标签: css fonts text-indent