当前位置:首页 > 站长必备 > Firefox中可以居中而在IE不能居中原因详解

Firefox中可以居中而在IE不能居中原因详解

snuday14年前 (2011-03-28)站长必备77

居中是写css最常用到的技能。但css中居中却不如table来的简单,并且实现跨浏览器同效果很麻烦。这里总结出各个元素的水平居中代码(IE7、Firefox2、Opera9.5下通过):

最好先有这句声明:

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

这段代码在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)》

1、DIV在整个body中水平居中:

#DivComment{
    position:absolute;
    top: 90%;
     left: 45%;
    width:40%;
    margin:0 0 0 -240px;
    padding: 10px 10px 0px 0px;
}

效果见:这里的评论层

2、DIV在另一个DIV中水平居中:

#div1{
TEXT-ALIGN: center;
}
#div2{
MARGIN-RIGHT: auto;
MARGIN-LEFT: auto;
height:200px;
background:#F00;
width:400px;
}

在要居中的div的父级元素(未必是div,可以是ul、li等)中设置TEXT-ALIGN: center;即可实现此div居中,但仅限于IE6&IE7。在此div中加上MARGIN-RIGHT: auto; MARGIN-LEFT: auto;或者margin: 0 auto;即可实现在firefox中也居中。

3、UL居中和li水平居中:其实任何居中,只要是web元素,可加上id属性的都可以使用上面的方法。只是要记住需把ul、li的宽度设置一下才,最好加个背景色才可以看出是否居中。否则ul、li默认是一条撑满div的“楼梯”,是看不出是否居中的。

 

4、image居中:也可用上述方法,但我发现有时直接用最简单的<div align=center><img src=”xxx.jpg”></div>,维护起来更方便

 

5、DIV垂直居中

 

 

应该再加上一点,就是

“如果有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
 


标签: cssIE修改

相关文章

IE6 png 透明 (三种解决方法)

FF和IE7已经直接支持透明的png图了,下面这个主要是解决IE6下透明PNG图片有灰底的=======================================================...

phpcms2008_标题列表_分隔效果

phpcms2008_标题列表_分隔效果

现在用phpcms2008默认模板改造一下:首先:找到:后台-->模板风格-->模板管理-->[标签]内容列表tag_content_list.html  点击后面修改复制...

PHPCMS企业黄页模块详解

PHPCMS企业黄页模块详解

1.企业黄页模板结构2.企业黄页各个广告分布及碎片调用代码A.头部文件模板 B.主文件模板 3.修改企业黄页各个广告位的方法3.1 方法一:通过“碎片管理”...

zend optimizer之php加速器forIIS安装实例

zend optimizer之php加速器forIIS安装实例

windows2003服务器配置IIS6.0+PHP+Mysql+Zend环境组建[图文]Win2003IIS6.0+PHP+Mysql+Zend+环境组建 相关软件如下: 操作系统:Windows...

IE8新建选项卡(新选项卡(Ctrl+T))完整解决方案,一键修复

IE8_新选项卡(Ctrl+T)找不到元素tabswelcome.htm解决办法表现错误样式:找不到元素tabswelcome.htm解决方案(一)手工调试:打开注册表, 找到HKEY_CLASSES...