当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 网页制作中的水平居中和垂直居中解决方案

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 网页制作中的水平居中和垂直居中解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-30   浏览: 154 ::
收藏到网摘: n/a

 在定义网页的CSS样式的时候,我们或许并不怎么用到垂直居中。在ruanchen.com中,大量的文章介绍了这些知识。在和别人合作的时候,你的代码的自适应性就需要做到最大程度的好。你自己在做自己的网页的时候或许可以保证在视觉上是居中的,但是如果让这个元素或者他的父元素变大了,你还能保证居中吗?

  vertical-align是个不错的属性,但是这个属性起初是针对表格的cell的。当然这个属性虽然对块级元素不起作用,但是对行内元素比如span还是有作用的(这时候,这个属性设置为负值元素内容就下移,正值则上移)。

  下面是比较专业的垂直居中的集中解决方案。记录于此,以便查阅。

1、单行垂直居中

  文字在层中垂直居中vertical-align 属性是做不到的.我们这里有个比较巧妙的方法就是:设置height的高度与line-height的高度相同! 

<div style="line-height:500px;height:500;">

2、层水平居中

  设置div的宽度小于父div的宽度,设置 margin:0 auto;,即可让div居中。

#parentdiv
{
width: 500px;
}
#childdiv {
width: 200px;
margin:0 auto;
}

3、层中的文字水平居中

  在childdiv的css加上text-align:center;

#parentdiv
{
width: 500px;
}
#childdiv {
width: 200px;
margin:0 auto;
text-align:center;
}

4、div层垂直居中

<div style="width:275px;height:375px;border: solid red;">
<div style=" background:green;height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
     <div
           style=" background:red;position:static;position:absolute\9; top: 50%;">
        <div
            style=" background:blue;position: relative; top: -50%;">
                     www.ruanchen.com
         </div>
      </div>
   </div>
</div>

5、div层垂直水平居中,英文超长换行

   <div style="float:left;width:275px;height:375px;border: solid red;">
<div
          style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
          <div
           style="position:static;position:absolute\9; top: 50%;">
           <div style="position: relative; top: -50%; text-align: center;">
              <div style="width: 85px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;word-break:break-all;margin:0 auto;">
            www.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.com 
              </div>
                     
              </div>
          </div>
         </div>
</div>

6、div垂直滚动

<div
              style="width: 160px; height: 260px; overflow-y: scroll; border: 1px solid;">


              www.ruanchen.com
             </div>

7、垂直居中和使用text-align水平居中

<div style="float:left;width:275px;height:375px;border: solid red;">
<div
          style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
          <div
           style="position:static;position:absolute\9;top: 50%;">
           <div
            style="position: relative; top: -50%; text-align:center;">
            <div style="width: 275px;">
                      <div style="width: 160px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;word-break:break-all;text-align:left;">
            www.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.com
              </div>
              </div>
                     
              </div>
          </div>
         </div>
</div>

8、垂直居中和使用margin水平居中

    <div style="float:left;width:275px;height:375px;border: solid red;">
<div
          style=" height: 375px; width: 275px; position: relative; display: table-cell; vertical-align: middle;">
          <div
           style="position:static;position:absolute\9; top: 50%;">
           <div
            style="position: relative; top: -50%; ">
            
                      <div style="margin:0 auto;width: 160px;WORD-WRAP: break-word;TABLE-LAYOUT: fixed;word-break:break-all;">
            www.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.comwww.ruanchen.com
              </div>
             
                     
              </div>
          </div>
         </div>
</div>