div的 magin:0px auto 属性再IE7 上不能用吗?我的div想水平居中 怎么都不能居中  希望大家帮帮忙~

解决方案 »

  1.   

    现在进行WEB重构的时候,一般我们做DIV 居中是这样:
    body{
    margin:0px auto;
    text-align:center;
    }
    但是在没申明下面这句解析方法的时候,页面就会出错.不能居中对齐!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    为此困扰了我几天.那么有的朋友就会说:你加上这句不就行了吗? 可是有时候页面并不能全部按上面规定的代码格式来编写,比如说要改多彩滚动条.
    直到昨天,一个想法在我脑中闪了一下. 何不用JS来控制页面的边距?说干就干!
    找了个页面.添加了下面的一小段代码.
    <script language="javascript" type="text/javascript" src="function.js"></script>
    function.js内容:
    if(window.screen.width>800){document.write("<style type=\"text/css\">body{margin-left:"+(window.screen.width-800)/2+"px}</style>");}
    保存,测试. 哈哈,换了几个分辨率都可以正常居中!至此试验成功.
    总结一下:
    主要是这句代码起的作用:
    (window.screen.width-800)/2 //计算页面应该留出的边距数值.800为我的DIV宽度 + 滚动条宽度.实际应用改为你自己的大小.
    补充一点:上面这段JS 必须放在你的最后一个CSS连接或</style>的后面.
      

  2.   

    谢谢啊! 可以讲解下 在div 加入table 后 在table中加入了数据控件 它的高度和长度怎么控制呢??
     总是出现位置错误!
    谢谢讲解下
      

  3.   

    可以简单的和菜鸟介绍介绍怎么用CSS 来控制吗》
      

  4.   

    .div { margin-right: auto; margin-left: auto;}或者<div style="margin-right: auto; margin-left: auto;"></div>
      

  5.   

    http://publish.it168.com/2008/0516/20080516004301.shtmlbody {text-align: center;}
    .div { margin:0px auto;text-align:left;}
      

  6.   

    我下面的代码是可以居中的.有时候出现div不能居中的原因是因为你的div没有设置宽度.<!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>无标题文档</title>
    </head><body>
    <div style="width:600px;height:200px; margin:0px auto; background-color:#000000;"></div>
    </body>
    </html>
      

  7.   

    1楼的,我直接在css,加入你这句body{margin-left:"+(window.screen.width-800)/2"}居然也行,在ie6和firefox里都能居中,比绝对定位居中的效果还要好。1楼真厉害~!3Q~~另外,说下margin-right: auto; margin-left: auto;在ie经常不能达到居中效果的,可以用绝对定位加外补丁负值的方法,或者用这里的方法
    我也是刚开始学习css,遇到这个问题就查了这些资料。