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

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

snuday16年前 (2011-03-28)站长必备838

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

相关文章

桌面项目的常规中没有IE了

这一改动将包含在 Windows XP SP3 中。--------------------------------------------------------------------------...

window.open 居中显示__ 绝对好用,不妨试试~~

<script type="text/javascript">function openwindow(url,name,iWidth,iHeight){ &n...

使用StyleBuilder修改、制作XP 主题

使用StyleBuilder修改、制作XP 主题

一。新建。  打开StyleBuilder,根据向导,指定一个存放文件的位置,其余全部下一步。二。如果要在已有的主题上创作,则:  点菜单的文件\插入.msstyles 文件,选择主题文件,选择一个解...

PHPCMS企业黄页模块详解

PHPCMS企业黄页模块详解

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

WindsPhoto首页调用相册分类无法显示解决方案

WindsPhoto首页调用相册分类无法显示解决方案

需要注意的是,这个版本中将图片的分类列表文件修改为了windsphoto_sort.asp,相应的调用标签应该为<#CACHE_INCLUDE_WINDSPHOTO_SORT#>为了方便大...

同页面多个JS冲突一般性解决方法+EcShop JS一般性总结(1)

1、一般JS冲突解决办法a.最容易出现的就是JS 的命名冲突①、变量名冲突变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生JavaScrip...