【问题标题】:Float right is reversing the order of my nav bar向右浮动正在反转我的导航栏的顺序
【发布时间】:2020-04-04 21:15:29
【问题描述】:

我有一个响应式导航栏,当我将“工作”和“联系人”链接向右浮动时,它会颠倒顺序。我尝试将它们添加到 div 中,但是当我这样做时,链接“工作”会显示在移动视图中的汉堡菜单旁边。

.topnav {
  overflow: hidden;
  position: fixed;
  width: 100%;
  z-index: 5;
  padding-top: 20px;
}

.topnav a {
  float: left;
  display: block;
  color: black;
  text-align: center;
  padding: 16px;
  line-height: 19px;
  text-decoration: none;
  font-size: 18px;
}

.topnav a:hover {
  color: black;
}

.topnav a.active {
  color: black;
}

.topnav .icon {
  display: none;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<div class="topnav" id="myTopnav">
      <a href="home.html" class="active">NAME</a>
      <a href="work.html">WORK</a>
      <a href="contact.html">CONTACT</a>
      <a href="javascript:void(0);" class="icon" onclick="myFunction()">
        <i class="fa fa-bars"></i>
      </a>
    </div>
function myFunction() {
  var x = document.getElementById("myTopnav");
  if (x.className === "topnav") {
    x.className += " responsive";
  } else {
    x.className = "topnav";
  }
}

目前左侧是这样,但是当我将此代码添加到右侧浮动时,就会发生保留订单问题

.topnav a:not(:first-child) {
float: right;
padding-right: 32px;
padding-left: 0px;
}

【问题讨论】:

  • 是的,这就是 float:right 的工作原理。你为什么不浮动整个顶部导航呢?
  • 当我将它添加到 .topnav 时,没有任何变化,.topnav a 当前有一个浮动,但我需要 2 个链接“工作,联系”向右浮动。当我尝试通过 .topnav a:not(:first-child) 将其定位为向右浮动时,它会反转顺序。

标签: html css css-float


【解决方案1】:

这可能是一个快速的解决方案(浮动,例如右跨度,其中包含左侧浮动元素):

.topnav {
  overflow: hidden;
  position: fixed;
  width: 100%;
  z-index: 5;
  padding-top: 20px;
}

.topnav a {
  float: left;
  display: block;
  color: black;
  text-align: center;
  padding: 16px;
  line-height: 19px;
  text-decoration: none;
  font-size: 18px;
}

.topnav a:hover {
  color: black;
}

.topnav a.active {
  color: black;
}

.topnav .icon {
  display: none;
}

span.right {
  float: right;
}

.topnav a:not(:first-child) {
  padding-right: 32px;
  padding-left: 0px;
}
<div class="topnav" id="myTopnav">
      <a href="home.html" class="active">NAME</a>
      
      <span class="right">
        <a href="work.html">WORK</a>
        <a href="contact.html">CONTACT</a>
      </span>
      <a href="javascript:void(0);" class="icon" onclick="myFunction()">
        <i class="fa fa-bars"></i>
      </a>
</div>

【讨论】:

  • 当我尝试该方法时顺序是正确的,但由于某种原因,当它在带有汉堡菜单的移动视图上时,链接“工作”仍然出现在它旁边。
  • 您能否将新代码添加到您的问题中?有汉堡菜单吗?
  • 当然,我将响应式菜单的 javascript 和样式表添加到了我获得图标的 css 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-30
  • 2021-05-25
  • 2017-05-19
  • 2019-03-19
  • 2014-07-05
相关资源
最近更新 更多