0

我正在处理一个小型网站导航问题,并且内容在 chrome、firefox 和 safari 中运行良好——但当然,IE 根本无法设置导航菜单的样式。

我创建了一个无序列表并在其上修改样式以使菜单水平。

这是该问题的直接链接:(链接已删除)。

无序列表就是这样出现的,IE 中的项目符号无序垂直 html 列表,而不是 chrome 中漂亮的导航菜单。

有什么建议吗?

4

3 回答 3

1

您使用<nav>的是 HTML5 元素。旧的 IE 版本(8 和更低版本)无法识别它们并且不设置它们的样式。

要解决此问题,您需要使用HTML5shiv. 按照该页面上的说明进行操作。
简而言之,HTML5shiv 会创建每个 HTML 元素,document.createElement如果你这样做,IE 会识别它们。完整的故事:Paul Irish:HTML5 shiv 的历史

于 2012-05-06T20:15:54.687 回答
1

除了这个nav问题(在这种情况下会阻止旧版本 IE 上的所有样式)之外,似乎还存在其他问题。

HTML 代码使用media旧版本 IE 无法识别的属性,这意味着它们不应用任何 CSS 文件。快速修复是从引用 Large.cssmedia的元素中删除属性。link一个更好的解决方法是将大部分 CSS 规则收集到一个文件中,您可以使用具有(或没有属性)的link元素引用该文件,以便依赖于媒体宽度的 CSS 文件仅包含您希望对不同宽度有所不同的那些设置。media=screenmedia

IE 9 控制台包含 CSS3114 错误消息,表明@font-face未通过 OpenType 嵌入的使用权限检查。

Medium.css and Small.css contain float: center which is incorrect (center is not an accepted value for float). Use http://jigsaw.w3.org/css-validator/ to check your CSS code.

于 2012-05-07T04:12:26.323 回答
0

nav用标签替换div标签。似乎这里不需要更改 CSS 代码,因为您使用 引用元素#nav,如果您更改为(当然也是),它可以<nav id="nav">正常<div id="nav">工作。</nav></div>

于 2012-05-06T20:21:51.063 回答