搜索
您的当前位置:首页正文

屏幕居中(DIV/CSS)的几种方法(转)_html/css_WEB-ITnose

2020-11-27 来源:知库网
1.利用table特性,在width and height all set 100%的时候,可以把容器嵌套在td内形成绝对居中,此时的被嵌套容器可为绝对或者相对大小。(非标准)注意不能加声明!
  如是在标准模式下要加样式body,html{height:100%;padding:0;margin:0;}











  2.利用负边距方法,绝对定位使容器相对屏幕绝对居中,此时的被嵌套容器只能为绝对大小。(标准)根据margin负值和top left的比例控制,实现随屏幕绝对居中,容器大小改变需要重新调整margin top left的参数:


  3.老外给出的另类方法, 巧妙利用display:inline-block;IE6.0测试通过。(标准)
  注意1.height:100%是关键:2.edge与container没有嵌套关系:
  这应该算是IE的一个bug,个人对display:inline-block理解有限。edge可以看作一个填充,container现在是一个上下居中的对象,加了背景色能看的更清楚,当然你也可以在container内添加任何绝对或者相对大小容器。但问题在于span只是一个内联元素,在内部添加块级元素是不标准的逻辑。





无标题文档





仅IE6.0环境下实现



   4.CSS行为expression_r_r控制实现,不过expression_r_r为IE独有,并且耗资源严重,尤其在大量使用的时候。(标准)
注意关键定义,不要以为height:100%在IE内是没用的:
  实时获取屏幕高宽值,分别减去容器高宽值再除以2,得到准确坐标绝对定位:


无标题文档





   5.FF1.5测试通过,绝对定位,边距为比例,此时容器高宽始终为viewport的50%相对大小(标准):
FF1.5测试通过
   6.FF1.5测试通过,绝对定位,直接定位上下左右,强制边局实现容器相对大小(标准):
  代码:略
  7.ff1.5 IE5 IE6通过测试




Vertical centering in valid CSS

Top