对于我们的网站,我们选择了包含日内瓦(Mac字体)和Tahoma(Win字体)的字体堆栈,其中Arial和Helvetica作为备份。理想情况下,我们希望日内瓦(最宽的),Tahoma,Helvetica和Arial都能占据每x个字数相似的空间(通过调整水平间距)。说110%Tahoma就像100%日内瓦。
Font stack- Geneva > Tahoma > Helvetica> Arial > sans
有更好的方法吗?这种方法是否存在浏览器支持方面的问题?如果是这样,那么如何在CSS中实现它呢?
基本上我们在Photoshop / Illustrator中完成了这种水平缩放 - 希望为网站实现与文本相同的功能。我想它应该是非常普遍的,但已经搜索了很长时间 - 我还没有能够解决问题的任何当前资源 - 2-3岁的结果没有任何解决方案。不熟悉网站 - 我不允许发布photoshop屏幕截图的图片 - 仍然在这里供参考:http://sunriseondarkhorizons.blogspot.com/2011/12/screenshot.html
PS Verdana有点太宽,无法思考 - 尽管它更接近日内瓦太空。由于
答案 0 :(得分:1)
您拥有的唯一工具是字母间距CSS属性,可增加或减少文本中字符之间的间距。
h1 {letter-spacing:2px}
AFAIK跨浏览器兼容性没有问题。
但是确定何时“激活”此属性存在问题。由于您无法预先知道客户端将使用哪个Font,因此需要某种逻辑/选择器来决定是否应该应用字母间距规则。
我不相信有这样做的CSS方法。
你可能能够实现的目标是使用JavaScript来确定是否应该放大字母间距:使用预设字词“test”创建一个
元素。然后,您可以使用JavaScript根据不同字体的
长度的预先计算值列表检查元素的宽度。根据结果,您可以添加或删除letter-spacing属性。
这是一个棘手的/黑客的解决方案,但它是我能想到的最好的抱歉。
啊!找到了一些东西: