Doctype打破文档(Html5 / Css3)

时间:2011-10-24 01:35:37

标签: html drop-down-menu doctype

我正在建立一个网页,我发现了一个我无法解决的问题。如果我声明了DOCTYPE,页面会完全断开,如果我没有声明它,IE版本将无法正常工作(下拉菜单不会丢失)。但是,尽管它被破坏了,如果我宣布DOCTYPE,下拉菜单适用于每个资源管理器,包括IE。所以我真的不知道该怎么做,有什么想法吗?我目前正在将DOCTYPE声明为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,但我尝试了其他选项,但它们都不起作用。

上次我在这里发布了免费服务器阻止了页面(可能是太多用户,因为我是目前唯一进入的用户),但这些是页面的两个例子:
使用DOCTYPE:http://newfutureuniversity.org/project/
没有DOCTYPE(下拉菜单不适用于IE9): http://newfutureuniversity.org/learn/

任何帮助将不胜感激。即使只是为了让我了解从哪里开始搜索,因为我找不到类似的东西。

2 个答案:

答案 0 :(得分:0)

现代网页使用或不使用doctype不再是可选的,而且是必需的。它是第一个落在页面上并且永远不会改变的东西。如果您创建了一个没有开头的页面,那么您的整个页面将设置为怪异模式。尝试修复它或通过添加/删除doctype来更改它本质上是在你进行时改变规则和目标。

现在尝试使用jQuery解决这个问题只是让你陷入更深层次的困境。添加doctype,使用现代浏览器获取您想要的一切(IE不是现代浏览器),然后继续让IE跟进。

您应该使用的字符集是<meta charset="utf-8">

答案 1 :(得分:-1)

对于HTML5来说它很好而且很小,你有一个XHTML声明

它可以简单地是:

<!DOCTYPE html>

for HTML 5

使用XHTML告诉解析器它接受的内容要严格得多。你的文档中没有<html> root(HTML5不会关心这个)。

HTML5中的内容类型规范也不同

而不是<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />,如果这是您想要的字符集,则可以使用<meta charset="iso-8859-1" />