【问题标题】:anchor won't center vertically inside list item锚点不会在列表项内垂直居中
【发布时间】:2014-04-22 05:28:05
【问题描述】:

我正在尝试在列表中水平和垂直居中锚点。

#menu li a {
    display: inline-block;
    width: 100%;
    height: 40px;
    padding: 12px 0 12px 0;
    text-decoration: none;
    color: #AAAAAA;
    font-size: 40px;
    text-shadow:
        -2px -2px 0 #000,    
        2px -2px 0 #000,
        -2px 2px 0 #000,
        2px 2px 0 #000;
}

http://jsfiddle.net/9FEDC/2/

我想要的只是一个锚:

  • 水平和垂直居中
  • 延伸到整个父级

编辑:text-align 工作正常,但甚至 vertical-align: middle 都没有工作。

编辑 2:按照建议,我现在使用的 line-height 等于锚的高度。这确实使锚点更接近其垂直中心,但由于某种原因,它仍然离其真正的垂直中心有几个像素。这是一个更新的小提琴...... http://jsfiddle.net/zp5GM/1/

编辑 3:出于好奇,我为锚元素定义了一个 1px 实心边框,并看到锚本身内部的文本没有垂直居中。所以像vertical-align 这样的事情,甚至是锚的位置变化都不会在这方面影响任何事情。 有人可以解释一下这种奇怪的行为吗?

【问题讨论】:

  • 首先,您的 HTML 无效。 <ul> 只能有 <li> 作为孩子。
  • 正确指出这一点,已修复。但是,这与我现在的问题无关......

标签: css hyperlink anchor center vertical-alignment


【解决方案1】:

如前所述,您的标记无效。修复后,您可以通过执行类似以下操作来使锚标记居中:

将宽度和文本对齐设置为锚的父级而不是锚本身。

li {
  text-align: center;
  width: 100%;
}

要垂直对齐和元素,您可以采用不同的方法。最简单的可能是给元素相同的高度和行高。这样它将垂直居中文本。

<div class="parent-element">
  <div class="child-element">
    <p>This is some text.</p>
  </div>
</div>

.parent-element {
  width: 100%;
}

.child-element {
  height: 100px;
  line-height: 100px;
}

您也可以将其定位在距顶部 50% 处,然后减去子元素高度的一半。

<div class="parent-element">
  <div class="child-element">
    <p>This is some text.</p>
  </div>
</div>

.parent-element { position: relative; }
.child-element {
  height: 100px;
  margin-top: -50px;
  position: absolute;
  top: 50%;
}

【讨论】:

  • "text-align" 只影响水平对齐,对吧?我在垂直对齐方面遇到问题。
  • 哦,抱歉,我没有意识到您正在尝试垂直对齐元素。我也会更新我的答案来解释垂直对齐。
  • 感谢您更新您的答案 - 根本没有想到行高。这确实使它变得更好,但由于某种原因,它仍然像垂直中心 2px 一样。我暂时将其保留在此,但我真的不明白这里发生了什么。简单地正确对齐元素,我从来没有遇到过这么多问题。也许这与我在这里使用列表或其他东西有关....不知道。感谢您的帮助!
【解决方案2】:
text-align:center;

应该这样做。

【讨论】:

  • 我已将我的问题编辑得更清楚 - 我无法将链接垂直居中。 “vertical-align: middle”似乎也不起作用......
猜你喜欢
  • 2013-06-08
  • 2013-05-21
  • 2012-07-18
  • 2017-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
  • 2011-11-28
相关资源
最近更新 更多