html - 悬停时,li 元素应占据容器的全部高度

标签 html css flexbox

我想让 li 元素的高度与 header 的高度相同。

CodePen

*,
::before,
::after {
  border-box: box-sizing;
  margin: 0; padding: 0;
}

header {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  background: yellow;
  height: 7.5vh;
}

.navigation li {
  display: inline-block;
  padding: 0 1em;
}

.navigation li:hover {
  text-align: center;
  background-color: white;
}
<header>
  <h1>Logo</h1>

  <nav>
    <ul class="navigation">
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Products</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>
</header>

最佳答案

实现此目的的一种方法是利用 line-height属性并使其与 height 相同你为你定义的 <header> :

.navigation li:hover {
  text-align: center;
  background-color: white;
  line-height: 7.5vh;
}

这是更新的 CodePen .希望这可以帮助!如果您有任何问题,请告诉我。

关于html - 悬停时,li 元素应占据容器的全部高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32698555/

相关文章:

javascript - 如何将 Javascript ID 值传递到 window.location.href

css - 来自 Twitter API 的图像呈现为 1px x 1px

html - 将 CSS 类应用于选择器(在 CSS 中)

CSS Timer 文本出现在数字 1 时会移动

html - 使 flex 的增长不要超过最大父级高度

javascript - 如何在React中导入Bootstrap组件?

html - 尝试在 HTML/CSS 中创建一个未水平显示的菜单

html - 显示文档 : -webkit-inline-box;

css - Flexbox div 在带有滚动条的固定容器中与另一个 div 重叠

php - 将 URL 参数添加到表单 PHP HTML