我有一个大写的文本,例如ABC
.
由于是大写字母,所有字符的高度都相同。
我还有一个固定高度的容器 (div
),例如100px
.
如何使此文本垂直填充,使每个字母的高度恰好为 100 像素?
我试过font-size: 100px
,但它没有填满容器(上下有空隙)。
参见 http://jsfiddle.net/6z8un/1/举个例子。
更新 1:
让我们假设所有字符实际上具有相同的高度(差异不存在或可以忽略不计)。否则这个问题就没有多大意义。
更新 2:
我很确定可以使用 https://stackoverflow.com/a/9847841/39068 解决它,但到目前为止我还没有完美的解决方案。我认为上升和下降是不够的,我需要其他东西作为顶部空间。
最佳答案
行高
http://jsfiddle.net/6z8un/2/不会解决问题,因为这不会删除空格。您可以通过硬编码应用大小(对我来说它适合 126px 的字体大小)但这对每个用户都是不同的(sans-serif 可以由用户/系统/浏览器配置)
Windows 默认的 sans-serif 字体 MS sans serif
不同于 Android 上的 Droid sans serif
或 Ubuntu 上的 DejaVu Sans
。
要解决这个问题,你可以设置一个默认字体,比如Times New Roman
,但并不是每个系统都默认有这个字体。
要解决这个问题,您可以使用从服务器导入的自定义字体,例如 http://google.com/fonts 但并非每个浏览器都支持自定义字体。
我认为解决这个问题的唯一方法是使用图像。
但是自定义字体也应该在现代浏览器上发挥作用:)(例如:http://jsfiddle.net/6z8un/5/)
关于javascript - 如何使用 JS/CSS 垂直填充大写文本的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840212/