CSS中怎么实现DIV容器水平居中

这篇文章主要介绍“CSS中怎么实现DIV容器水平居中”,在日常操作中,相信很多人在CSS中怎么实现DIV容器水平居中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS中怎么实现DIV容器水平居中”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业革吉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

DIV CSS教程:实现DIV容器水平居中的方法

在Web标准中的页面布局是使用DIV配合CSS来实现的。这其中最常用到的就是使整个页面水平居中的效果,这是在页面布局中基本,也是最应该首先掌握的知识。不过,还是经常会有人问到这个问题,在这里我简单总结一下使用DIV和CSS实现页面水平居中的方法:

一、margin:auto0与text-aligh:center

在现代浏览器(如InternetExplorer7、Firefox、Opera等)现代浏览器实现水平居中的方法很简单,只要设定到左右两侧的空白为自动即可。意即:

ExampleSourceCode

#wrap{margin:0auto;}

上面这段代码的意思是说使wrap这个DIV到左右两侧的距离自动设置,上下为0(可以为任意)。请在现代浏览器(如InternetExplorer7、Firefox、Opera等)中运行现在的代码:

SourceCodetoRun

   52CSS.comtitle> <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/> <styletypestyletype="text/css"> DIV#wrap{   width:760px;   margin:0auto;   border:1pxsolid#333;   background-color:#ccc;  }  style> head>  <body> <DIVidDIVid="wrap"></pre><p>在Firefox等现代浏览器设定页面元素的水平居中,只要指定margin:0auto;即可</p><pre><pre> DIV#wrap{   width:760px;   margin:0auto;/*这里的0可以任意值*/   border:1pxsolid#ccc;   background-color:#999;  }  pre> DIV> body> html></pre><p>[可先修改部分代码再运行查看效果]</p><p>上面的效果很好。但是这在InternetExplorer6及改正的版本中是不起作用的,不过幸好它有自己的解决办法。在InternetExplorer中text-align属性是可继承的,即在父元素中设置后在子元素中就默认具有了该属性。因此我们可以在body标签中设置text-align属性值为center,这样页面内所有的元素都会自动居中,同时我们还要加一个hook把页面中的文字变成我们习惯的阅读方式——居左对齐。因此我们要如此来写代码:</p><p>ExampleSourceCode</p><pre>body{text-align:center;}  #wrap{text-align:left;}</pre><p>这样在InternetExplorer中我们就轻松实现了DIV的居中对齐。因此要在所有的浏览器中显示居中的效果,我们就可以这样写我们的代码:</p><p>ExampleSourceCode</p><pre>body{text-align:center;}  #wrap{text-align:left;  margin:0auto;  }</pre><p>SourceCodetoRun</p><pre><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>52CSS.comtitle> <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/> <styletypestyletype="text/css"> body{text-align:center;}  DIV#wrap{   text-align:left;   width:760px;   margin:0auto;   border:1pxsolid#333;   background-color:#ccc;  }  style> head>  <body> <DIVidDIVid="wrap"></pre><p>在Firefox等现代浏览器设定页面元素的水平居中,只要指定margin:0auto;即可</p><pre><pre> DIV#wrap{   width:760px;   margin:0auto;/*这里的0可以任意值*/   border:1pxsolid#ccc;   background-color:#999;  }</pre><p>在InternetExplorer6及以下的版本中我们还要做以下的设置:</p><pre> body{text-align:center;}    DIV#wrap{   text-align:left;   }  pre> DIV> body> html></pre><p>[可先修改部分代码再运行查看效果]</p><p>不过这里有一个前提,就是设置居中的元素要有固定的宽度,比如这里我们设定了为760像素。</p><p><strong>二、相对定位与负的边距</strong></p><p>对于wrap进行相对定位,然后使用负的边距抵消偏移量。这种方法比较简单还很容易实现:</p><p>ExampleSourceCode</p><pre>#wrap{  position:relative;  width:760px;  left:50%;  margin-left:-380px  }</pre><p>这段代码的意思是,设置wrap的定位是相对于其父元素body标签的,然后将其左边框移动到页面的正中间(也就是left:50%含意);***我们再从中间位置向左偏移回一半的距离来,这样就实现了水平居中了。</p><p>SourceCodetoRun</p><pre><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>52CSS.comtitle> <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/> <styletypestyletype="text/css"> DIV#wrap{   position:relative;   width:760px;   left:50%;   margin-left:-380px;   border:1pxsolid#333;   background-color:#ccc;  }  style> head>  <body> <DIVidDIVid="wrap"></pre><p>在所有浏览器中都有效的方法:</p><pre><pre> DIV#wrap{   position:relative;   width:760px;   left:50%;   margin-left:-380px;   border:1pxsolid#333;   background-color:#ccc;  }  pre> DIV> body> html></pre><p>[可先修改部分代码再运行查看效果]<br/>同样,在设定水平居中前你需要设定一个固定的宽度。</p><p>◆究竟选择哪个方法?</p><p>上面两个方法究竟选择哪种方法好呢?在***种方法中貌似使用了Hack技术,其实并没有,它是中规中矩的Web标准写法,完全符合规范,因此,两个种方法中完全可以随便的选取其中的任一种进行使用,他们不存在CSShack的问题。</p><p><strong>三、其它的居中方式</strong></p><p>上面所说的都是设定了具体宽度的情况下水平居中的实现。有时候我们想做一个弹性布局,或者当一个元素处于一个容器中时我们只想让它居中并不想设定一个具体的宽度。其实这并不是真正的居中布局,就像对一个100%长度的元素来说,你说它是居中对齐还是居左对齐呢?所以所有不高宽度的居中都不是真正的居中。这样的设计我们是使用的像元素的padding来设置的,实际中我们是改变了父元素的容器大小:<br/>如我们希望wrap元素长度随窗口而改变,同时又维持居中,我们就可以这样写:</p><p>ExampleSourceCode</p><pre>body{  padding:10px150px;  }</pre><p>这里,我们只需要保持父元素左右两侧的填充是相等的就可以了。</p><p>SourceCodetoRun</p><pre><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> <head> <title>52CSS.comtitle> <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/> <styletypestyletype="text/css"> body{   padding:10px150px;  }  DIV#wrap{   border:1pxsolid#333;   background-color:#ccc;  }  style> head>  <body> <DIVidDIVid="wrap"></pre><p>一种随浏览器窗口大小而改变的具有弹性的居中布局:</p><pre><pre> body{   padding:10px150px;  }   这里,我们只需要保持父元素左右两侧的填充是相等的就可以了。  pre> DIV> body> html></pre><p>到此,关于“CSS中怎么实现DIV容器水平居中”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!</p>            
            
                                <br>
                    新闻名称:CSS中怎么实现DIV容器水平居中                    <br>
                    分享路径:<a href="http://csdahua.cn/article/ipcheh.html">http://csdahua.cn/article/ipcheh.html</a>
                </div>
                <div class="view-qrocde cl">
                    <div class="m z"><img src="/Public/Home/images/ew.jpg"/></div>
                    <div class="text">
                        <h6>扫二维码与项目经理沟通</h6>
                        <p>我们在微信上24小时期待你的声音</p>
                        <p>解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流</p>
                    </div>
                </div>
                <div class="othernews cl">
                    <h3>其他资讯</h3>
                    <ul>
                        <li><a href="/article/doeides.html">oracleerp集成 oracle19c集群</a></li><li><a href="/article/doeidse.html">帝国cms自动采集新闻 帝国cms自动刷新</a></li><li><a href="/article/doeidgi.html">sharepoint运维 sharepoint cloudreve</a></li><li><a href="/article/doeidpd.html">c语言分段插值的子函数 c语言分段函数的计算</a></li><li><a href="/article/doeidih.html">mysql怎么查询分页 mysql分库分页查询</a></li>                    </ul>
                </div>
            </div>
        </div>
        <div class="sidebar">
            <div class="tuijian">
                <a href="#">
                    <h2 class="cl"><span>行业动态</span></h2>
                    <h3>企业网站建设的重要性!</h3>
                    <p>现在虽然是移动互联网时代,但企业网站依然重要,包含PC站点,移动站。可以说企业网站关系企业的未来发展和前途,尤其对中小企业更是如此,一些中小企业老板,对自己的名片很在乎,因为这是个门面。...</p>
                </a>
            </div>
            <div class="ser sidesub">
                <h2>服务项目</h2>
                <ul class="ebox">
                    <li class="sub sub-1">
                        <div>
                            <h3>网站建设</h3>
                            <p></p>
                            <a class="btn" href="/serve/website/">查看详情</a>
                        </div>
                    </li>
                    <li class="sub sub-1">
                        <div>
                            <h3>移动端/APP</h3>
                            <p></p>
                            <a class="btn" href="/serve/moblie/">查看详情</a>
                        </div>
                    </li>
                    <li class="sub sub-1">
                        <div>
                            <h3>微信/小程序</h3>
                            <p></p>
                            <a class="btn" href="/serve/small/">查看详情</a>
                        </div>
                    </li>
                    <li class="sub sub-1">
                        <div>
                            <h3>技术支持</h3>
                            <p></p>
                            <a class="btn" href="/serve/tech/">查看详情</a>
                        </div>
                    </li>
                    <li class="sub sub-1">
                        <div>
                            <h3>其它服务</h3>
                            <p></p>
                            <a class="btn" href="/serve/othe/">查看详情</a>
                        </div>
                    </li>
                    <li class="sub sub-5">
                        <div>
                            <h3>更多服务项目</h3>
                            <p> <a>用我们的专业和诚信赢得您的信赖,从PC到移动互联网均有您想要的服务!</a></p>
                            <a class="btn" href="/serve/">获取更多</a>
                        </div>
                    </li>
                </ul>
            </div>
            <div class="contact" id="fix">
                <h2 class="cl"> <span>联系吧</span> <a href="https://map.baidu.com/" class="ditu" rel="nofollow" target="_blank">在百度地图上找到我们</a> </h2>
                <h3>电话:13518219792</h3>
                <p>如遇占线或暂未接听请拨:136xxx98888</p>
                <div class="qq"> <a href="//wpa.qq.com/msgrd?v=3&uin=244261566&site=qq&menu=yes" rel="nofollow" target="_blank">业务咨询</a> <a href="//wpa.qq.com/msgrd?v=3&uin=244261566&site=qq&menu=yes" rel="nofollow" target="_blank">技术咨询</a> <a href="//wpa.qq.com/msgrd?v=3&uin=244261566&site=qq&menu=yes" rel="nofollow" target="_blank">售后服务</a> </div>
            </div>
        </div>
        <script>
            //固定滚动
            (function () {
                var oDiv = document.getElementById("fix");
                var H = 120,
                    iE6;
                var Y = oDiv;
                while (Y) {
                    H += Y.offsetTop;
                    Y = Y.offsetParent
                };
                iE6 = window.ActiveXObject && !window.XMLHttpRequest;
                if (!iE6) {
                    window.onscroll = function ()
                    {
                        var s = document.body.scrollTop || document.documentElement.scrollTop;
                        if (s > H) {
                            oDiv.className = "contact  fixed";
                            if (iE6) {
                                oDiv.style.top = (s - H) + "px";
                            }
                        } else {
                            oDiv.className = "contact ";
                        }
                    };
                }

            })();
        </script>
    </div>
    <div class="footer">
        <div class="wp">
            <div class="wpss cl">
                <dl class="about">
                    <dt>网站制作</dt>
                    <dd><a href="http://www.36103.cn/" target="_blank" title="成都网站制作">成都网站制作</a></dd><dd><a href="http://www.scyanting.com/" target="_blank" title="盐亭网站制作公司">盐亭网站制作公司</a></dd><dd><a href="https://www.cdcxhl.com/" target="_blank" title="网站制作">网站制作</a></dd><dd><a href="http://chengdu.cdxwcx.cn/wangzhan/" target="_blank" title="手机网站制作">手机网站制作</a></dd>                </dl>
                <dl class="about">
                    <dt>网站建设</dt>
                    <dd><a href="http://m.cdcxhl.cn/seo/" target="_blank" title="成都网站建设推广">成都网站建设推广</a></dd><dd><a href="http://m.cdcxhl.cn/seo/" target="_blank" title="营销网站建设">营销网站建设</a></dd><dd><a href="http://www.scyingshan.cn/" target="_blank" title="营山网站建设">营山网站建设</a></dd><dd><a href="https://www.cdxwcx.com/city/yaan/" target="_blank" title="雅安网站建设">雅安网站建设</a></dd>                </dl>
                <dl class="about">
                    <dt>网站设计</dt>
                    <dd><a href="https://www.cdcxhl.com/pinpai.html" target="_blank" title="高端网站设计">高端网站设计</a></dd><dd><a href="http://chengdu.kswsj.cn/" target="_blank" title="高端网站设计">高端网站设计</a></dd><dd><a href="https://www.cdcxhl.com/sheji/chengdu.html" target="_blank" title="四川成都网站设计">四川成都网站设计</a></dd><dd><a href="http://www.cdkjz.cn/" target="_blank" title="高端网站设计">高端网站设计</a></dd>                </dl>
                <dl class="contact">
                    <dt>联系我们</dt>
                    <dd>电话:13518219792</dd>
                    <dd>邮箱:631063699@qq.com</dd>
                    <dd>地址:成都青羊区锦天国际1002号</dd>
                    <dd>网址:www.csdahua.cn</dd>
                </dl>
                <dl class="flow">
                    <dt></dt>
                    <div class="ma cl">
                        <div class="m"> <img src="/Public/Home/images/ew.jpg" />
                            <p>微信二维码</p>
                        </div>
                    </div>
                </dl>
            </div>
        </div>
        <div class="footer-link wp">
            <ul class="wpss cl">
                <li class="fisrt">友情链接</li>
                <li><a href="http://www.cxjianzhan.com/mobile/" title="手机网站建设公司" target="_blank">手机网站建设公司</a></li><li><a href="http://www.sclezhi.cn/" title="乐至网站建设" target="_blank">乐至网站建设</a></li><li><a href="http://www.cxjianzhan.com/" title="网站制作公司" target="_blank">网站制作公司</a></li><li><a href="https://www.xwcx.net/" title="成都机柜租用" target="_blank">成都机柜租用</a></li><li><a href="https://www.cdcxhl.com/shoulu/" title="分类目录网站" target="_blank">分类目录网站</a></li><li><a href="http://www.cxjianzhan.com/" title="营销推广" target="_blank">营销推广</a></li><li><a href="http://www.cdxwcx.cn/tuoguan/zigong.html" title="自贡电信机房" target="_blank">自贡电信机房</a></li><li><a href="https://www.xwcx.net/jigui.html" title="成都机柜租用" target="_blank">成都机柜租用</a></li><li><a href="http://www.cdhuace.com/faguangzi/bfg.html" title="背发光字" target="_blank">背发光字</a></li><li><a href="http://www.cxhlcq.com/seo/" title="重庆网络营销" target="_blank">重庆网络营销</a></li>            </ul>
        </div>
    </div>
    <div class="bot-footer">
        <div class="wp">
            <p class="wpss"> <em>Copyright © 2002-2023 www.csdahua.cn 快上网建站品牌 QQ:244261566 版权所有</em> <em>备案号:<a href="http://beian.miit.gov.cn/" rel="external nofollow">蜀ICP备19037934号</a></em>
            </p>
            <p class="wpss" style="line-height:30px !important;"> </p>
        </div>
    </div>
    <div class="footer-kefu">
        <ul>
            <li class="qq"><a href="https://wpa.qq.com/msgrd?v=3&uin=244261566&site=qq&menu=yes"><em></em>在线咨询</a>
            </li>
            <li class="tel"><a href="tel:13518219792" target="_blank"><em></em>13518219792</a></li>
            <li class="wx"> <em></em>
                <div class="code"> <img src="/Public/Home/images/ew.jpg" />
                    <p>微信二维码</p>
                </div>
            </li>
            <li class="m"> <em></em>
                <div class="code"> <img src="/Public/Home/images/ew.jpg" />
                    <p>移动版官网</p>
                </div>
            </li>
            <li class="top"><em></em></li>
        </ul>
    </div>
    <script src="/Public/Home/js/all.js"></script>
</body>
</html>
<script>
    $(".cont img").each(function(){
        var src = $(this).attr("src");    //获取图片地址
        var str=new RegExp("http");
        var result=str.test(src);
        if(result==false){
            var url = "https://www.cdcxhl.com"+src;    //绝对路径
            $(this).attr("src",url);
        }
    });
    window.onload=function(){
        document.oncontextmenu=function(){
            return false;
        }
    }
</script>