【发布时间】:2010-11-12 18:32:22
【问题描述】:
如何使用 CSS 减小类似 Arial 字体的字符宽度?
【问题讨论】:
-
我认为在 CSS 3 中是可能的,但在 CSS 2 中是不可能的
如何使用 CSS 减小类似 Arial 字体的字符宽度?
【问题讨论】:
您不能减小字符宽度,但可以减小字母间距。
span {
letter-spacing: 0px;
}
【讨论】:
letter-spacing: -1px;,与0px 一样,我们没有减少任何字母间距。字体保持不变。是的,到目前为止(Chrome 26)Chrome 仍然不支持分数。
在您的字体系列声明中使用窄字体。这些很常见。
font-family: "Helvetica Narrow","Arial Narrow",Tahoma,Arial,Helvetica,sans-serif;
【讨论】:
font-stretch property of CSS 3 可以拉伸字体。
【讨论】:
font-stretch
您可以缩放文本。例如:
.my-text {
transform: scaleX(0.5);
}
但请注意transform-origin,它会使您的文本移动到其他位置(例如,如果您以原点为中心进行缩放)。
【讨论】:
transform 来表示 SELECT 元素中的文本。它正确缩放了我的SELECT 元素内的文本并正确绘制了SELECT 元素,但它未能调整对象之间的间距。 SELECT 元素占用相同的空间,尽管它在水平方向上要小得多。
你可以在你的css代码中使用font-weight:
【讨论】:
您可以尝试使用font-stretch CSS property:
font-stretch: condensed;
浏览器支持似乎有限 - 参见例如cmets 到 this other answer - 但它在 Firefox 61 中对我有用。
【讨论】:
CSS3:只需结合使用transform 和transform-origin:
transform: scaleX(0.85);
transform-origin: 0 100%;
scaleX 的值是您寻求的水平拉伸率( 1 表示展开)。
跨浏览器:FF16、C36、S9、O23»»
例如:
document.getElementById('button').onclick = function() {
document.getElementById('condensed').style.transform = 'scalex(0.85)';
document.getElementById('condensed').style.transformOrigin = '0 100%';
};
#condensed {
font-family: Arial,'Helvetica Neue',Helvetica,'Liberation Sans',sans-serif;
font-size: 2em;
}
<div><div id="condensed">don't shout it — do something about it!</div></div>
<button id="button">condense me!</button>
【讨论】: