今天比较清闲,写了个Div居中的例子
对浮动定位这一块始终不是很清楚,陈今天清闲写了个Div剧中的例子,本来应该很简单但由于IE6不支持
position:fixed,害我折腾了半天。若果没有IE6我估计我们这些做Web开发的日子会好过好多。
希望大家把自己的解决方案发上来交流一下。简单介绍下原理。对于IE7+以及标准浏览器,
没什么可说的position:fixed就可以了,_position是为了在重新设置IE6所支持position
属性。document.documentElement.clientHeight==0是判断是否设置了DTD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>使DIV绝对居中(兼容IE6+ FireFox)</title>
<style type="text/css">
body,html{height:100%;padding:0;margin:0;}
.divPanel{
border:1px solid red;
width:100px;
height:100px;
left:800px;
top:20px;
position:fixed;
_position:absolute;
_top:expression(eval(
document.documentElement.clientHeight==0
?(document.body.scrollTop)
:(document.documentElement.scrollTop)
)+20+"px");
}
#panel2{
border:1px solid #339966;
width:300px;
width:300px;
height:100px;
left:50%;
top:50%;
margin-left:-150px;
margin-top:-50px;
position:fixed;
_position:absolute;
_left:expression(eval(
document.documentElement.clientHeight==0
?document.body.offsetWidth
:document.documentElement.clientWidth
)/2+"px");
_top:expression(eval(
document.documentElement.clientHeight==0
?(document.body.scrollTop+document.body.clientHeight/2)
:(document.documentElement.scrollTop+document.documentElement.clientHeight/2)
)+"px");
}
</style>
</head>
<body>
<!--
<textarea id="txt1" rows="20" cols="60"></textarea>
<textarea id="txt2" rows="20" cols="60"></textarea>
<textarea id="txt3" rows="20" cols="60"></textarea>-->
<div id="panel" class="divPanel"></div>
<div id="panel2">dddd</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</body>
</html>