今天做一个js控制的弹出层,谷歌,火狐均好用,就是ie不好用,调试半天,各种兼容测试,均告失败。最后对比原来页面,发现页面的文档声明不一致。
这是我默认声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
改过后:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
测试ie成功。
该声明有三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。 <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为"-//W3C//DTD XHTML 1.0 Strict//EN"的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。