javascript - 如何使用 JS/CSS 垂直填充大写文本的容器?

标签 javascript css

我有一个大写的文本,例如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/

相关文章:

javascript - 使 typescript 函数可用于窗口命名空间

javascript - 如何使用 Ajax 提交表单并获取一些文本作为返回

html - 垂直对齐自动调整图像大小以适应轮播

jquery - 为什么这个 jquery 和 css 在 html 表中不一致?

javascript - 如何在 html 中创建可扩展的 <li> 元素

jquery - 选中时更改类复选框

javascript - 如何使用 moment 将时间转换为百分比

php - 如何从javascript调用表单提交?

html - 背景图像未在 Laravel 中显示

javascript - 如何使用 POST 方法在 Pentaho 中调用另一个仪表板