我正在处理一个小型网站导航问题,并且内容在chrome,firefox和safari中运行良好 - 但当然,IE根本无法设置导航菜单的样式。
我创建了一个无序列表,并在其上修剪了样式,使菜单水平。
以下是该问题的直接链接:(已删除链接)。
无序列表显示为IE中的项目符号无序垂直html列表,而不是Chrome中漂亮的导航菜单。
有什么建议吗?
答案 0 :(得分:1)
您使用的是<nav>
HTML5元素。旧的IE版本(8及更低版本)无法识别它们,也不会对它们进行样式化。
要解决此问题,您需要使用HTML5shiv
。按照该页面上的说明进行操作
简而言之,HTML5shiv使用document.createElement
创建每个HTML元素,如果你这样做,IE会识别它们。要获得完整的故事:Paul Irish: The history of the HTML5 shiv
答案 1 :(得分:1)
除了nav
问题(在旧版IE上阻止所有样式),似乎还存在其他问题。
HTML代码使用旧版IE无法识别的media
属性,这意味着它们不应用任何CSS文件。快速解决方法是从引用Large.css的media
元素中删除link
属性。更好的解决方法是将大多数CSS规则收集到您使用link
元素media=screen
(或没有media
属性)引用的文件中,以便依赖于媒体宽度的CSS文件仅包含您希望针对不同宽度不同的设置。
IE 9控制台包含CSS3114错误消息,指出@font-face
未通过OpenType嵌入的使用权限检查。
Medium.css和Small.css包含float: center
这是不正确的(center
不是float
的可接受值)。使用http://jigsaw.w3.org/css-validator/检查您的CSS代码。
答案 2 :(得分:0)
将nav
代码替换为div
代码。看来这里不需要对CSS代码进行任何更改,因为您使用#nav
来引用该元素,如果您将<nav id="nav">
更改为<div id="nav">
(和</nav>
,则该工作正常到</div>
当然。)