text-align:justify not working

时间:2010-12-19 10:47:51

标签: html css text-align justify

HTML

<div id="menu">
    <a href="#">Commissions</a>
    <a href="#">Business Setup</a>
    <a href="#">Administrator</a>
    <a href="#">Content Management</a>
    <a href="#">Inventory</a>
    <a href="#">Communications Tools</a>
    <a href="#">Genealogy</a>
    <a href="#">Reports</a>
</div>

CSS

#menu {
    width: 1000px;
    float: left;
    font-size: 9pt;
    text-align: justify;
}
#menu a {
    text-decoration: none;
    color: #0066cc;
    font-size: 9pt;
}
#menu a:hover {
    text-decoration: underline;
}

我想让每个链接都有整个宽度。我试着用text-align:justify来实现。但它不起作用。我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

这将使间隔均匀的div(可以是链接或任何元素)。您遇到的问题是,对齐不适用于单行文本(或最后一行文本)。这就是为什么你需要:在psuedo元素之后。

HTML:

<div class="wrapper">
  <div>This can be anything.</div>
  <div>This can be anything.</div>
  <div>This can be anything.</div>
  <div>This can be anything.</div>
  <div>This can be anything.</div>
  <div>This can be anything.</div>
</div>

的CSS:

.wrapper{
  text-align: justify;
}
.wrapper div{
  display: inline-block;
}
.wrapper:after{
  content: "";
  width: 100%;
  display: inline-block;
}

答案 1 :(得分:2)

我不确定我是否完全理解你的问题,但是你想要的事情听起来有理由去做一些它不打算做的事情。

只有当一行文本包装在容器的右边缘时,文本才会被对齐。

然而,这在菜单中确实不会发生。

所以我没有采取合理的解决办法(我说修复,虽然什么都没有破坏),但我还有另一个建议。

根据我的理解,您希望您的链接均匀地分布在您的div中。

我能想到的最好的方法是根据链接数量为元素提供基于百分比的宽度,并与中心对齐而不是对齐。

例如:

#menu a {
    text-decoration: none;
    color: #0066cc;
    font-size: 9pt;
    width: 12%;
    display: inline-block;
    text-align: center;
}

我不知道这是不是你想要的,但你可以尝试一下,看看你的想法。

答案 2 :(得分:1)

  

没有。所有链接都有不同的长度。但这些链接之间的长度应该相同。

我只有一个表格解决方案。 http://jsfiddle.net/Flack/Q7z6q/

我知道这很脏,如果有人有更好的想法会很高兴。