元素的高度显示异常的问题

这是DOM结构
clipboard.png

这是样式
clipboard.png

目前情况是li的高度有100;
clipboard.png

而a标签高度只有29;这个li也没有其他的样式
clipboard.png

请问这是什么原因造成的 又该如何解决呢

阅读 2.5k
3 个回答

在li上也设置font-size即可

li {
    font-size: 0.22rem;
}

或者给a增加

a {
    display: block;
}

大概原因好像是:

li 是块元素,font-size 和 line-height都继承了父级,导致li的高度 = font-size ✖️ line-height ✖️ 行数;而a元素作为行内元素,它重新设置了font-size,a的高度 = font-size ✖️ line-height ✖️ 行数。
此时li的真实高度为 Math.max(li的高度, a的高度)

flex items 在 cross 方向默认 stretch 拉伸,调整 align-items 即可

其实你这个li是有东西的,因为父级元素是display: flex,所以,ul下面的所有子元素(li)是有东西的。

而这个东西应该就是flex: 0 0 auto,以及其他默认的 flex 的属性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题