大家好:
我想获得网络浏览器的自动高度,但我对 W3C DTD HTML 4.01 和 // W3C感到困惑// DTC XHTML 1.0 ,下面是我的问题详情:
如果我在页眉顶部使用 W3C DTD HTML 4.01 并使用 document.body.clientHeight < / strong>,然后我无法获得浏览器的全部高度:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test jQuery Height</title>
<script type="text/javascript" src="../lib/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
var height=document.body.clientHeight;
alert(height);
})
</script>
</head>
<body>
<div style="margin-left:30px;">
<button>Start Select</button>
<button>Stop Select7lt;/button>
</div>
</body>
</html>
但是,如果我更改为 // W3C // DTD HTML 4.01 或使用 document.documentElement.clientHeight ,然后我可以得到浏览器的实际高度:
1.使用 // W3C // DTD HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test jQuery Height</title>
<script type="text/javascript" src="../lib/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(function(){
var height=document.body.clientHeight;
alert(height);
})
</script>
</head>
<body>
<div style="margin-left:30px;">
<button>Start Select</button>
<button>Stop Select7lt;/button>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test jQuery Height</title>
<script type="text/javascript" src="../lib/jquery-1.8.3.min.js">
</script>
<script type="text/javascript">
$(function(){
var height=document.documentElement.clientHeight;
alert(height);
})
</script>
</head>
<body>
<div style="margin-left:30px;">
<button>Start Select</button>
<button>Stop Select7lt;/button>
</div>
</body>
</html>
所以,我的问题是 “// W3C // DTD HTML 4.01”和“// W3C // DTD XHTML 1.0”之间有什么区别?
任何帮助都将不胜感激!
答案 0 :(得分:2)
“// W3C // DTD HTML 4.01”和“// W3C // DTD XHTML 1.0”之间的区别在于前者的“HTML 4.01”与后者的“XHTML 1.0”相反。
您实际观察到的是两种文档类型声明之间的区别
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
和
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
前者将浏览器置于“标准模式”,而后者则将其置于“怪癖模式”。在quirks mode中,可能会发生奇怪的事情。这可能包括宽度和高度的非标准计算。
除非这是关于依赖于quirks模式的遗留页面,否则您应该使用“标准模式”并按规范使用CSS和DOM。
答案 1 :(得分:2)
HTML 4.01严格文档类型即“ - // W3C // DTD HTML 4.01 //”,验证HTML 4.01规范,尽管它不允许任何表示标记或不推荐使用的元素(如字体元素)或要使用的框架集。它验证松散的HTML样式标记,例如最小化的属性和非引用的属性(例如,必需,而不是必需=“必需”)
HTML 4.01过渡文档类型,即“ - // W3C // DTD HTML 4.01 Transitional // EN”验证HTML 4.01规范。它允许一些表示标记和不推荐使用的元素(如字体元素),但不允许框架集。同样,它验证了松散的HTML样式标记
这些是HTML 4.01 doctypes的确切XHTML 1.0等价物,即“ - // W3C // DTD XHTML 1.0 Transitional // EN”或“ - // W3C // DTD XHTML 1.0 Strict // EN”我们在上面讨论过,在功能上它们是相同的,除了它们不会验证松散的HTML样式标记:它都需要格式良好的XML。
答案 2 :(得分:1)
以下是这两个文件标准的良好比较:http://www.w3.org/TR/xhtml1/diffs.html
简而言之:使用XHTML,您必须遵循XML结构,就像使用任何其他XML文档一样。 HTML4 Transitional更灵活,允许例如在标签中使用其他属性或跳过某些属性。
编辑:
document.body更像是一个标准而不是另一个。但它与(X)HTML标准无关。