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

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

snuday15年前 (2011-03-28)站长必备810

居中是写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修改

相关文章

discuz {BOARDLOGO} 等系统标签修改目录

默认就是你论坛的名称。如果你还想修改成其他的,你可以编辑include\cache.func.php找到:$data['boardlogo'] = image($data['boardimg'], $...

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

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

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

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

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

兼容IE6、IE7、IE8、firefox等浏览器全屏浮动广告代码(已测试有效)

   前几天让做一个广告浮动,本来很容易的,不巧的是网站上好多JS给相互打架了,而且火狐还从中作梗,费了点力气才找到了一个比较有效的代码------- 不多说了下面是演示...

DEDECMS内容页分页过多、过长,最佳解决方案

        最近也看了一些关于DEDECMS内容页分页过长的方法,试了几个都不太好,最终找到一个比较符合心意的,简便...

DedeCMS专题制作完整教程(文字+图片说明)

DedeCMS专题制作完整教程(文字+图片说明)

  因为这里的常用管理同文档管理类似,一些常用操作如添加、删除、更新、推荐这些操作在这里不做冗述,本教程主要介绍如何通过专题结合模板文件制作出自己的专题页面。制作一个专题页面,需要准备2样东西:内容、...