我正在处理一个水平菜单,中间有一个 Logo 。在编码期间,我主要使用 Chrome 和 Safari 来查看它。今天虽然我切换到 Firefox 来检查东西,但我的菜单变得疯狂了。然后我在PC上检查了IE和Chrome,都是同样的问题。
这里是截图。目前它在我的机器上,或者我会提供一个 URL。
Chrome 35 OS X
Firefox 30 OS X
这是我的 HTML:
<div id="header-nav-container">
<ul class="initial-nav left">
<li><a class="active" href="#">home</a></li>
<li><a href="#">talk</a></li>
<li><a href="#">topics</a></li>
</ul>
<img id="header-logo" src="<?php echo get_stylesheet_directory_uri(); ?>/images/logo_full_text.svg" alt="I Am Moved logo">
<ul class="initial-nav right">
<li><a href="#">shop</a></li>
<li><a href="#">about</a></li>
<li class="sys"><a href="#">share your story</a></li>
</ul>
</div> <!-- /#header-nav-container -->
还有我的 CSS(由 LESS 编译而来):
body.home div#header div#header-nav-container {
margin-top: 1em;
width: 100%;
height: auto;
padding: 0;
margin-left: auto;
margin-right: auto;
display: inline-block;
}
ul.initial-nav {
list-style-type: none;
margin: 0;
margin-top: 20px;
padding: 0;
display: inline-block;
color: white;
font-weight: 300;
font-size: 1.5em;
line-height: 1.8em;
border-bottom: 12px solid #00ffab;
width: 375px;
text-transform: lowercase;
-webkit-animation: fadeInDown 0.75s 0.15s;
-moz-animation: fadeInDown 0.75s 0.15s;
-o-animation: fadeInDown 0.75s 0.15s;
animation: fadeInDown 0.75s 0.15s;
}
ul.initial-nav li {
display: inline-block;
}
ul.initial-nav li a {
color: inherit;
}
ul.initial-nav li a.active {
border-bottom: 13px solid #ff5071;
padding-bottom: 5px;
}
ul.initial-nav li a:hover {
text-decoration: none;
}
ul.initial-nav li.sys {
color: #5fd6e5;
font-weight: 600;
}
ul.initial-nav.left {
text-align: left;
}
ul.initial-nav.left li:not(:first-of-type) {
margin-left: 110.5px;
}
ul.initial-nav.right {
text-align: left;
}
ul.initial-nav.right li:not(:first-of-type) {
margin-left: 51px;
}
body.home img#header-logo {
position: relative;
height: 150px;
width: 150px;
margin-left: 35px;
margin-right: 33px;
-webkit-animation: fadeInUp 0.75s;
-moz-animation: fadeInUp 0.75s;
-o-animation: fadeInUp 0.75s;
animation: fadeInUp 0.75s;
}
我在 <li>
上赚取了利润非常精确,因此菜单项可以完美地填满菜单宽度。我不确定是否有更好的方法来做到这一点。我弄乱了边距以查看文本是否溢出但 Windows 上的 FF、IE 或 Chrome 没有变化。
我最初的目标是除第一个 <li>
以外的所有目标在我的 CSS 中使用 li + li 在菜单项之间添加边距,但切换到 :not(:first-of-type) 选择器只是为了测试。这似乎没有什么不同。我四处搜寻但没有任何运气。特别是因为我不知道是什么原因造成的。
感谢您的帮助!
最佳答案
经过更多的试验,看起来边距是导致问题的原因。我之前更改它时没有任何区别的原因是因为我的目标是 <li>
使用 li + li 选择器。当我用 li:not(first-of-type) 定位它并减少边距时,所有内容再次适合一行,并且它在 Windows 和我的 Mac 上的 Firefox 中正确呈现。
希望就是这样!祈祷吧。
关于html - Firefox 和 Windows 中的 CSS 水平菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24198162/