我注意到在同时使用letter-spacing和text-align:center时有一种奇怪的行为。
增加空间,使文本更靠近元素的左边距。

HTML

<div>
  <p>- Foo Bar Zan -</p>
</div>

CSS
div {
  width: 400px;
  height:400px;
  background-color: #3b0d3b;
  text-align:center;
  margin:auto;
}

p {
  color:#fff;
  margin-top: 40px;
  text-align:center;
  padding-top:30px;
  font-size: 1.2em;
  letter-spacing:.9em;  <--- Here is the problem
}

我创建了a codepen to show what I mean
我在最后的Firefox和Chrome上发现了相同的行为。
有没有解决此问题的方法?

最佳答案

似乎您需要使文字缩进的距离与字母间距相同。第一个字母的左边没有空格

div {
  width: 400px;
  height: 400px;
  background-color: #3b0d3b;
  text-align: center;
  margin: auto;
}

p {
  color: #fff;
  background: black;
  text-align: center;
  font-size: 1.2em;
  padding: 0;
  margin: 0;
}

.spacing {
  letter-spacing: .4em;
}

.spacing-large {
  letter-spacing: 0.9em;
  text-align: center;
  text-indent: 0.9em;
}
<div>
  <p>- Foo Bar Zan -</p>
  <p class="spacing">- Foo Bar Zan -</p>
  <p class="spacing-large">- Foo Bar Zan -</p>
</div>


我想出的逻辑解释是-因为它是第一个字母,所以左侧的空格将不适用。

关于html - 字母间距错误的文本中心对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21612058/

10-09 08:16
查看更多