首先导航到右侧

时间:2015-09-28 09:51:35

标签: css

如何将other更改为右侧?

li{
    display: inline;
}
#main{
    float: left;
}
#other{
    float: left;
}
<nav id="other">
  <ul>
    <li>other</li>
    </ul>
</nav>
<nav id="main">
  <ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
    </ul>
</nav>

这应该是这样的:

one two three other

但不是这样的:

one two three             other

PS:我无法更改html。

我知道这可以通过绝对定位完成,但这对于响应式设计来说非常昂贵。因此,寻找其他解决方案。

3 个答案:

答案 0 :(得分:2)

实现此目的的一种快速方法是放入一个向左浮动的包含元素,然后向右浮动ul两个。当#other出现时,它将首先浮动。

&#13;
&#13;
ul {
  margin: 0;
  padding: 0;
  margin-right: 5px;
}
li {
  display: inline;
}
#main,
#other {
  float: right;
}
div {
  text-align: left;
  float: left;
  display: inline;
}
&#13;
<div>
  <nav id="other">
    <ul>
      <li>other</li>
    </ul>
  </nav>
  <nav id="main">
    <ul>
      <li>one</li>
      <li>two</li>
      <li>three</li>
    </ul>
  </nav>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

float: left元素中移除#other,然后将该元素display设置为inline-block

然后,要调整展示位置,您可以从内部padding-left元素中移除ul,并将其与#main元素区分开,而不是margin-left

&#13;
&#13;
li{
  display: inline;
}

#other {
  display: inline-block;
}

#other ul {
  padding-left: 0;
  margin-left: 5px;
}

#main{
  float: left;
}
&#13;
<nav id="other">
  <ul>
    <li>other</li>
    </ul>
</nav>
<nav id="main">
  <ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
    </ul>
</nav>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

检查此代码段

li {
  display: inline-block;
}
#main {
  float: left;
}
#other {
  position: absolute;
  text-align: right;
  left: 100px;
}
<nav id="other">
  <ul>
    <li>other</li>
  </ul>
</nav>
<nav id="main">
  <ul>
    <li>one</li>
    <li>two</li>
    <li>three</li>
  </ul>
</nav>