html - 如何将文本 float 在列表项空间的底部?

标签 html css

如何将文本 float 到列表项空间的底部? 我试图使 li 中的所有文本都位于 li 高度的底部。有没有更好的方法来实现这种外观? 以及如何超链接 h1 标题?

* {
  margin: 0;
  padding: 0;
}

nav {
  width: 100%;
  height: 110px;
  background-color: #f0f0f0;
}

.menu ul {
  margin-left: 50px;
}

.menu ul li {
  height: 110px;
  list-style: none;
  float: left;
}

.menu ul li a {
  text-decoration: none;
  font-family: 'Segoe UI';
  padding-left: 18px;
  padding-right: 18px;
  margin-top: 110px;
  color: black;
}
<nav class="menu">
  <ul class="menu">
    <li><img src="{% static 'images/logo-01.png' %}" width="120px" height="120px"></li>
    <li>
      <a class="header" href="#">
        <h1>Sitename</h1>
      </a>
    </li>
    <li><a href="#">option1</a></li>
    <li><a href="#">option2</a></li>
    <li><a href="#">option3</a></li>
    <li><a href="#">option4</a></li>
  </ul>
</nav>

最佳答案

您只需对 CSS 进行一些微小的更改。我添加了 display: flex;align-items: flex-end;

由于flexbox是一个完整的模块而不是单个属性,因此它涉及很多东西,包括它的整套属性。其中一些旨在在容器(父元素,称为“flex 容器”)上设置,而另一些则旨在在子元素上设置(称为“flex items”)。

您可以通过以下链接了解有关 Flexbox 布局的更多信息。

https://www.w3schools.com/css/css3_flexbox.asp

* {
    margin: 0;
    padding: 0;
  }

  nav{
    width: 100%;
    background-color: #f0f0f0;
  }

   .menu ul{
    margin-left: 50px;
    display: flex;
    align-items: flex-end;
  }


  .menu ul li {
    list-style: none; 
  }
  
  .menu ul li img {
    display: block;
  }
  .menu ul li h1 {
    line-height: 1;
  }
  .menu ul li a {
    display: block;
    text-decoration: none;
    font-family: 'Segoe UI';
    padding-left: 18px;
    padding-right: 18px;
    color: black;
  }
  .menu ul li:hover a {
    color: red;
  }
  .menu ul li:hover h1 {
    color: black;
  }
<!DOCTYPE html>
<html>
  <head>
  </head>
<body>
 <nav class="menu">
        <ul class="menu">
            <li><img src="http://placehold.jp/120x120.png" width="120px" height="120px"></li>           
            <li><a class="header" href="#"><h1>Sitename</h1></a></li>
            <li><a href="#">option1</a></li>
            <li><a href="#">option2</a></li>
            <li><a href="#">option3</a></li>
            <li><a href="#">option4</a></li>
        </ul>
    </nav>
  </body>
</html>

我希望这会有所帮助。

关于html - 如何将文本 float 在列表项空间的底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59475256/

相关文章:

html - Flexbox 与水平预滚动/代码滚动的兼容性

javascript - 选择元素时下拉标题更改

html - 如何为 Safari 编写 CSS 条件规则?

css - 为什么在没有它的情况下仍然可以在 CSS 中添加 -webkit- 前缀?

php - 在文本编辑器未关闭并重新打开之前,CSS 文件不会加载

html - 在父项悬停时显示子项而不是在父项或子项悬停时显示

javascript - 在div中自动从右向左滚动文本

jquery - 如何在特定浏览器选项卡/窗口/页面中打开链接/url?

javascript - 如何使用 jquery .animate() 图像?

css - 滚动和 div 消失时防止垂直跳转