我正在建立一个网页,我发现了一个我无法解决的问题。如果我声明了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/
任何帮助将不胜感激。即使只是为了让我了解从哪里开始搜索,因为我找不到类似的东西。
答案 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" />
。