html导航栏。 Logo 向左,元素向右。元素顺序相反。如何更改顺序?

标签 html css

我想创建一个导航栏。 Logo 应位于左侧,元素应位于右侧。我不知道为什么我的导航栏中的 Items 总是倒序。

ul {
  margin: 0;
  padding: 0;
  list-style: none;           /* remove the markers/bullets */
  display: block;              /* Displays an element as a block-level flex 
  container */
}

/* Each item in the navigation bar */
li {
  line-height: 65px;          /* The height of the each iterm is 65px */
  font-size: 20px;            /* Font size is 14 px */
  background-color: green;
  width: 200px;
  text-align: center;
  float: right;
}

li:first-child{
  float:left;
  margin-left: 200px;
}
<header>
  <ul>
      <li class="logo"><a href="#">LOVE</a></li>
      <li class="direction-item"><a href="">item1</a></li>
      <li class="direction-item"><a href="">item2</a></li>
      <li class="direction-item"><a href="">item3</a></li>
      <li class="direction-item"><a href="">item4</a></li>
      <li class="direction-item"><a href="">item4</a></li>
  </ul>
</header>

最佳答案

是右浮动导致其他元素以相反的顺序显示。

ul {
  margin: 0;
  padding: 0;
  list-style: none;           /* remove the markers/bullets */
  display: block;              /* Displays an element as a block-level flex 
  container */
}

/* Each item in the navigation bar */
li {
  font-size: 20px;            /* Font size is 14 px */
  background-color: skyblue;
  padding: 10px;
  text-align: center;
  float: right;
}

li:first-child{
  float:left;
}
<header>
  <ul>
      <li class="logo"><a href="#">LOVE</a></li>
      <li class="direction-item"><a href="">item1</a></li>
      <li class="direction-item"><a href="">item2</a></li>
      <li class="direction-item"><a href="">item3</a></li>
      <li class="direction-item"><a href="">item4</a></li>
      <li class="direction-item"><a href="">item5</a></li>
  </ul>
</header>

float 仍然可以使用,但更像是一种 CSS2 方法。在 CSS3 中,我们有了 flex-box,它有更多的选项,使它更复杂。而且还提供更多灵 active :p 运行以下代码片段以查看 flex 盒解决方案。

ul {
  display: flex;
  list-style: none;
}

li {
  flex: 1 1 auto;
  text-align: right;
}

li.logo {
  text-align: left;
}
  <header>
    <ul>
        <li class="logo"><a href="#">LOVE</a></li>
        <li><a href="#">item1</a></li>
        <li><a href="#">item2</a></li>
        <li><a href="#">item3</a></li>
        <li><a href="#">item4</a></li>
        <li><a href="#">item5</a></li>
    </ul>
  </header>

关于html导航栏。 Logo 向左,元素向右。元素顺序相反。如何更改顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52711347/

相关文章:

css - 两个 div 位置固定和 float ,没有百分比宽度,但在 IE6 中不起作用

css - Bootstrap 在列中动态定位对象

javascript - 如果该页面有必要加载 js/css

css - 如何在打印页面时将 Bootstrap 3 列扩展为整个页面宽度?

html - 如何通过编码在 Internet Explorer 中启用兼容性 View

html - <table> 样式元素未显示

javascript - 如何从子级中获取父级中的数据- *

html - 如何根据元素的数量使 div 位置响应?

javascript - 如何在没有本地主机的情况下打开网页

php - 如何在 TreeView 结构中显示数组?