1

已经有一些类似的问题,但是这些修复都没有对我有用。我想将一个<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

4 回答 4

4

嗨,我找到了另一个解决方案,使用display:flexandjustify-content:flex-end

所以在原来的问题中,而不是:

.topnavlinks ul {
  float:right;  
}

将其更改为以下内容:

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

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

于 2019-02-27T23:37:02.230 回答
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; }
于 2012-06-28T10:54:03.437 回答
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;}
于 2012-06-28T11:42:06.497 回答
-1

http://jsfiddle.net/gVnrM/ 演示

这个

于 2012-06-28T11:52:31.827 回答