【发布时间】:2014-05-27 11:35:19
【问题描述】:
我遇到了跨浏览器代码的问题。
我在页面顶部添加了一个浮动导航栏,代码如下:
<header id="page-header" class="content-info" role="contentinfo">
<!-- Nav -->
<nav id="nav">
<ul>
<li><a href="1.html">1</a></li>
<li><span>2</span>
<ul>
<li><a href="2.1.html">2.1</a></li>
<li><a href="2.2.html">2.2</a></li>
<li><a href="2.3.html">2.3</a></li>
<li><a href="2.4.html">2.4</a></li>
</ul></li>
<li><a href="3.html">3</a></li>
<li><a href="4.html">4</a></li>
<li><a href="5.html">5</a></li>
</ul>
</nav>
</header>
使用下一个 css 代码:
header#page-header {
z-index: 9999;
position: fixed;
height: 40px;
line-height: 40px;
top: 0;
right: 0;
background: white;
text-align: center;
width: 100%;
border-top: 1px solid rgba(0,0,0,0.2);
margin-top: 0;
margin-bottom: 2px;
color: #5b5b5b;
display: inline-table;
}
它可以在除 IE 之外的所有浏览器上完美运行。导航菜单不显示,这是因为参数“right: 0;”。我曾尝试删除此参数,但在 Chrome 和 Safari 浏览器上,菜单移动到页面右侧的一半。
我尝试为所有浏览器创建样式,但 IE 如下所示:
<!--[if !IE]>< -->
<link rel="stylesheet" type="text/css" href="css/xbrowser.css" />
<!-- ><![endif]-->
xbrowser.css 文件包含:
header#page-header {
right: 0;
}
我已确保删除参数“right: 0;”从主css文件。这不起作用,因为 IE 仍然可以识别我告诉它忽略的 css 文件。
有人可以建议一种解决方法,让此功能在所有浏览器(即 Chrome、Safari、Opera、Mozilla 和 IE)上都能正常工作吗?
提前致谢
【问题讨论】:
-
在此处查看示例 quirksmode.org/css/condcom.html 看起来您的评论周围的括号是错误的
-
对导航栏本身的问题有什么建议吗?
-
@MatthewLock 我尝试了不同的括号,因为许多网站建议不同,但没有任何效果。
-
把它放在jsfiddle中,这样我们就可以看到它全部运行了。
标签: html css internet-explorer cross-browser navigationbar