CSS浮动而不改变顺序?

时间:2012-06-28 10:50:00

标签: html css

有一些类似的问题,但这些修复都不适用于我。我想将<li>菜单向右浮动,但我无法正确地执行此操作。

HTML

 <div id="topnav"><ul class="topnavlinks"><li class="menu-474 first"><a href="/" title="Home page">Home</a></li>
 <li class="menu-540 active-trail active"><a href="/our-company" title="" class="active">Our company</a></li>
 <li class="menu-541"><a href="/news_blog" title="">Blog</a></li>
 <li class="menu-930"><a href="/faq" title="Frequently Asked Questions">FAQ</a></li>
 <li class="menu-900 last"><a href="/contact" title="Contact">Contact</a></li>
 </ul></div>

CSS

#topnav { width:100%; height:14px; background:#b8b8b8; border-bottom:1px solid #989898; }
.topnavlinks { width:980px; margin:0px auto; }
.topnavlinks ul { float:right;  }
.topnavlinks li { float:left;  }
.topnavlinks a { color:#fff; text-decoration:none; padding:0px 27px; }

目前它根本没有向右浮动,而在其他一些变化中我已经让它向右浮动,只是反向顺序。

4 个答案:

答案 0 :(得分:1)

尝试添加其他容器

<强> HTML

<div id="topnav"><div class="cont"><ul class="topnavlinks"><li class="menu-474 first"><a href="/" title="Home page">Home</a></li>
 <li class="menu-540 active-trail active"><a href="/our-company" title="" class="active">Our company</a></li>
 <li class="menu-541"><a href="/news_blog" title="">Blog</a></li>
 <li class="menu-930"><a href="/faq" title="Frequently Asked Questions">FAQ</a></li>
 <li class="menu-900 last"><a href="/contact" title="Contact">Contact</a></li>
</ul></div></div>

<强> CSS

.cont { width:980px; margin:0px auto; }
#topnav { width:100%; height:14px; background:#b8b8b8; border-bottom:1px solid #989898; }
.topnavlinks ul { float:right;  }
.topnavlinks li { float:left;  }
.topnavlinks a { color:#fff; text-decoration:none; padding:0px 27px; }

答案 1 :(得分:0)

请记住,水平填充为27px。 这将菜单置于右侧:

 #topnav { width:100%; height:14px; border-bottom:1px solid #989898; text-align:right; }

.topnavlinks { margin:0px auto; display:inline; float:right;}

.topnavlinks ul { float:right; text-align:left; }

.topnavlinks li { display:inline; text-align: left;}

.topnavlinks a { color:#fff; text-decoration:none; padding:0px 27px;}

答案 2 :(得分:0)

答案 3 :(得分:0)

嗨,我发现了另一种使用display:flexjustify-content:flex-end的解决方案

因此在原始问题中,而不是:

.topnavlinks ul {
  float:right;  
}

将其更改为以下内容:

ul.topnavlinks {   
  display: flex;   
  justify-content: flex-end; 
}

它将使导航浮动而不改变顺序