html - Firefox 和 Windows 中的 CSS 水平菜单问题

标签 html css internet-explorer google-chrome firefox

我正在处理一个水平菜单,中间有一个 Logo 。在编码期间,我主要使用 Chrome 和 Safari 来查看它。今天虽然我切换到 Firefox 来检查东西,但我的菜单变得疯狂了。然后我在PC上检查了IE和Chrome,都是同样的问题。

这里是截图。目前它在我的机器上,或者我会提供一个 URL。

Chrome 35 OS X Chrome 35 OS X

Firefox 30 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/

相关文章:

javascript - 如何向第一 Accordion 添加事件类?

python - CGI - FieldStorage - 来自现场存储的数据返回 MiniFieldStorage

javascript - Jquery - IE 滚动中的断断续续的动画

ajax - 读取文件 ://URLs in IE XMLHttpRequest

css - IE/Edge 未应用转换 : translate to table row

html - 在绝对居中的球体中垂直居中文本

python - 我将如何使用 BeautifulSoup 的索引来抓取多个表?

html - 在 body 中垂直居中一个div?

html - 我的新 div 元素没有出现在网页中。看起来,div 元素隐藏在背景图片后面

html - 防止多级李横断