没写Doctype声明导致DIV在Firefox中可以居中而在IE不能居中
这段代码在FF中可以居中,而在IE6/7/8中均不能居中。换成:MARGIN-RIGHT: auto; MARGIN-LEFT: auto;也一样,而且,居右margin:0pt 0pt 0pt auto;的也失效了
而这段代码在FF和IE中都可以居中,两者的区别仅在于开头是否有Doctype声明
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
如果没有这句话,在IE6/7/8中只用margin:0 auto;是无法实现居中的,而在FF中却可以。
如果加了doctype声明,则在一个body下的div,只用margin:0 auto;即可在IE和FF中都实现居中。
之前写的那篇《DIV、UL、li、image水平竖直居中代码大全(for ie firefox opera)》应该再加上一点,就是
“如果有Doctype声明,则完全可以不需要在上一层中使用text-align:center,毕竟这句加了连下级的文字都变居中了。所以DIV最好的居中方法应该是:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
margin:0 auto; ”
调试中还发现,IE的div默认height是有一定的值的,而FF如果没写height参数就默认为0了,就看不出div了,如第二个例子在firefox下是看不出层的,而在IE下可以,在FF下调试,所以若要在ff下调试,应该再加上高度height
