问题 CSS,用文本填充所有div宽度


如何自动更改字母之间的空格。我希望文本占据div的整个宽度。文字不是静态的。 (始终更改文本,可以是123“或”文本文本“...)

  <style type="text/css">
    #menu{
      width: 200px;
      background-color: #000;
      color: #336699;
      font-size: 16px;
      letter-spacing: 100%;
    }
  </style>
<body>
<div id="menu">
  tekstas
</div>

12175
2017-12-02 10:51


起源

对JamWaffles没有任何不尊重的态度,但严重的是,(最初)不正确并且甚至没有接近解决方案的答案如何得到接受和5个赞成? Sheesh ...... - Valentin Flachsel


答案:


编辑: 不幸的是,这只会改变  间距,不是  间距。没有办法在CSS中进行字距调整。可能是CSS3。

这很容易实现 text-align: justify CSS属性:

#menu 
{ 
      width: 200px; 
      background-color: #000; 
      color: #336699; 
      font-size: 16px; 
      text-align: justify; 
}

11
2017-12-02 11:00



证明文字间距不是字母间距 - ArK
哎呀!我在那里道歉。我的回复> slap <我有点仓促 - Bojangles
此外,它只影响后面跟着另一行的行。 - Valentin Flachsel


纯粹使用CSS无法做到这一点。该 letter-spacing 属性不占用百分比值。 text-align: justify 将无法工作,因为它只影响单词之间的空格,而不是字体字距,它也只适用于那些后面跟着另一行的文本行。

您可以尝试使用JS来计算特定字符数 div 然后计算字符之间所需的空间,以便填充宽度,但此解决方案只适用于单倍间距字体(所有字符具有相同宽度的字体)。


6
2017-12-02 11:00



将 letter-spacing 使用像素值? (即,如果固定了div的宽度?) - Bojangles
是, letter-spacing 确实可以处理像素值,但是如果给出负值,它只会在字符之间添加声明的值,或者减去它。 - Valentin Flachsel


这里的解决方案对每个人都不适用,但事实证明我可以解决这个问题:如果你要显示少量的标题文本,你可以在每个单词的每个字符之间加一个空格“L i k e t h i s”。

对于我的特定设计,这看起来很好,当然它允许 align: justify 在div中充分发挥其魔力。


-2
2018-02-26 14:16