<!Doctype html>对body高度影响
2013-04-10 10:25
441 查看
一、关于<!Doctype html>的说明
参考:DOCTYPE HTML PUBLIC的官方定义
二、关于标题的问题的解答
xhtml申明css1compat模式下,body没有内容,IE,chrome下点击时无法响应事件,但是firefox会响应,即使document.body.clientHeight不为0,firefox的bug?
<!doctype html>
<title>css1compat模式下,body没有内容,IE,chrome下点击时无法响应事件,但是firefox会响应,即使document.body.clientHeight不为0,firefox的bug?。。</title>
<script type="text/javascript">
<!--
function m(event){
x=event.clientX;
y=event.clientY;
alert("X:"+x+",Y:"+y);
}
window.onload=function(){alert(document.compatMode+'\n'+document.body.clientHeight)}
//-->
</script>
</head>
<body onMousedown="m(event)">
</body>
去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件
<title>去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件</title><script type="text/javascript">
<!--
function m(event){
x=event.clientX;
y=event.clientY;
alert("X:"+x+",Y:"+y);
}
window.onload=function(){alert(document.compatMode+'\n'+document.body.clientHeight)}
//-->
</script>
</head>
<body onMousedown="m(event)" style="background:#eee">
<!--去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件-->
</body>
三、关于标题问题的例子:
问题:
我遇到一个问题,就是我的html前面如果加上<!doctype html>的话,那么body标签的event都不会有效
比如:
XML/HTML code?
如果去掉那个的话,就会有event响应了。还有去掉这个之后页面上的<input/>标签里的button都变小了一些。这个是为什么?这个<!doctype html>是干什么用的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
回答:
1、(说明了<!Doctype html>的作用,但是给出的方法无效)
<!Doctype html>是声明文档类型为HTML5类型,它强制要求了浏览器按某种规则去解析网页,所以能一定程度上解决兼容性问题,你之所以加了之后会变小,是因为你没加的时候那个按钮是按IE的规则解析的,加了之后就是按标准解析的,建议你还是按标准来解析,这样会少遇到很多麻烦
至于event失效,可能是兼容性问题,你把function m(event){改成这样:
function m(e){
var evt=e || event;
后面统一用evt就不会有问题了
2、(解决了“事件点击无效”的问题)
css1compat下body没有内容时高为0,所以点击时没有点到body对象就没有触发事件,如果body有内容你点击内容就是点击到body了,触发了事件。不过firefox在css1compat下也响应有点怪,不知道是不是bug。。
参考:DOCTYPE HTML PUBLIC的官方定义
二、关于标题的问题的解答
xhtml申明css1compat模式下,body没有内容,IE,chrome下点击时无法响应事件,但是firefox会响应,即使document.body.clientHeight不为0,firefox的bug?
<!doctype html>
<title>css1compat模式下,body没有内容,IE,chrome下点击时无法响应事件,但是firefox会响应,即使document.body.clientHeight不为0,firefox的bug?。。</title>
<script type="text/javascript">
<!--
function m(event){
x=event.clientX;
y=event.clientY;
alert("X:"+x+",Y:"+y);
}
window.onload=function(){alert(document.compatMode+'\n'+document.body.clientHeight)}
//-->
</script>
</head>
<body onMousedown="m(event)">
</body>
去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件
<title>去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件</title><script type="text/javascript">
<!--
function m(event){
x=event.clientX;
y=event.clientY;
alert("X:"+x+",Y:"+y);
}
window.onload=function(){alert(document.compatMode+'\n'+document.body.clientHeight)}
//-->
</script>
</head>
<body onMousedown="m(event)" style="background:#eee">
<!--去掉xhtml变为backcompat模式时,body中没有内容,但是实际的clientHeight为可见高,IE,firefox,chrome下都可以响应mousedown事件-->
</body>
三、关于标题问题的例子:
问题:
我遇到一个问题,就是我的html前面如果加上<!doctype html>的话,那么body标签的event都不会有效
比如:
XML/HTML code?
-----------------------------------------------------------------------------------------------------------------------------------------------------------
回答:
1、(说明了<!Doctype html>的作用,但是给出的方法无效)
<!Doctype html>是声明文档类型为HTML5类型,它强制要求了浏览器按某种规则去解析网页,所以能一定程度上解决兼容性问题,你之所以加了之后会变小,是因为你没加的时候那个按钮是按IE的规则解析的,加了之后就是按标准解析的,建议你还是按标准来解析,这样会少遇到很多麻烦
至于event失效,可能是兼容性问题,你把function m(event){改成这样:
function m(e){
var evt=e || event;
后面统一用evt就不会有问题了
2、(解决了“事件点击无效”的问题)
css1compat下body没有内容时高为0,所以点击时没有点到body对象就没有触发事件,如果body有内容你点击内容就是点击到body了,触发了事件。不过firefox在css1compat下也响应有点怪,不知道是不是bug。。
相关文章推荐
- <!DOCTYPE html>很重要
- <!DOCTYPE html>
- 为什么使用<!DOCTYPE HTML>
- 为什么使用<!DOCTYPE HTML>
- <!DOCTYPE html>的作用
- <DOCTYPE html> 是什么?
- <html>h1~h6、body、br
- javascript脚本放在HTML中的<head>和<body>的区别:
- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />隐藏<!DOCTYPE HTML>
- <!DOCTYPE html>很重要
- HTML中的<!DOCTYPE>
- HTML中的<!DOCTYPE>
- <!DOCTYPE html>很重要
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <!DocType Html>
- <!DOCTYPE html>很重要
- <!DOCTYPE html>的内容讲解
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://......dtd">
- html的<!DOCTYPE>标签初窥
- <!DOCTYPE html>的重要性