html - 为什么在这个例子中 <ul> <li> 和 <a> 元素的高度不同?

标签 html css height

为什么 <ul> 上的高度不同? <li><a>这个例子中的元素?

http://codepen.io/MonoSM/pen/mPGVrN

HTML

<ul class="links">
  <li class="first">
    <a href="#">My Account</a>
  </li>
  <li>
    <a href="#">My Cart (3 items)</a>
  </li>
  <li class=" last">
    <a href="#">Log In</a>
  </li>
</ul>

CSS

.links { list-style: none; }
.links li { float: right; display: inline-block; }
.links li a { background: grey; margin:5px; padding: 10px; }

You can see image here

最佳答案

ul 元素仅包含已从正常流中移除的元素,因此其高度为 0。

每个 li 元素包含一个行框。它的高度是该行框的高度,使用它的 line-height 属性。

每个元素都是其文本内容的高度。取自字体指标。垂直填充位于它们周围,但不影响其祖先的父级高度,因为 a 元素是 display:inline

关于html - 为什么在这个例子中 <ul> <li> 和 <a> 元素的高度不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36840380/

相关文章:

javascript - 无论 Div 高度如何,对齐两列 Div

html - 通过 CSS 超链接图像,无需 JS、Action、Object 等

Css 多重渐变

html - 仅使用 CSS 将 div 高度设置为浏览器的高度

css - 可变高度容器内的可滚动 div

javascript - 如何从span中选择子div中的前一个输入元素并绑定(bind)更改事件?

javascript - WebAudio - 无缝播放音频 block 序列

javascript - 在两人井字游戏中切换玩家

Jquery 1.8.2 和智能电视上的旋转

javascript - 如何检测元素是否具有 'auto' 高度