CSS实现不定高度DIV绝对居中

2016-02-19 19:45 2 1 收藏

今天图老师小编要向大家分享个CSS实现不定高度DIV绝对居中教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

  一般来说,指定高度的DIV垂直和水平居中比较方便,而不定高度的话就稍微麻烦了点,我尝试了一下,通过2个辅助的DIV实现了绝对居中,兼容IE和FF等标准浏览器。

  CSS代码:

#wrapper{height:100%;width:100%;overflow:hidden;position:relative}
#wrapper[id]{display:table;}
#mid{position: absolute;top:50%;left:50%}
#mid[id]{display:table-cell;left:0;vertical-align:middle;position:static}
#box{position:relative;top:-50%;left:-50%;z-index:9999;width:300px}
#box[id]{left:0;margin:0 auto;}
div.boxstyle{border:2px solid #000;text-align:center;padding:5px;}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  XHTML代码:

div id="wrapper"
div id="mid"
div id="box" class="boxstyle"
phttp://bolm.cn/p
pDIV绝对居中示例/p
/div
/div
/div

   简单解释下,wrapper为外层,mid为中间层,box即为绝对居中的那层。

   在FF等标准浏览器中可以通过将wrapper层的演示方式为table,mid层设置为table-cell的显示方式,这样就可以使用 vertical-align:middle实现中间层的绝对垂直居中,而IE中则使用了top:50%的方式,以及后面box设置的相对定位-50%来 达到垂直居中。水平居中的方式也不同,FF可以很简单的设置margin实现,而IE则同样设置了left互相抵消的方式实现。

   另外类似#box[id]这样的表达方式只有FF等标准浏览器认识,所以可以在这里设置属于FF等浏览器的样式。

   由于未设置box的高度,默认就为auto不定高了,不定宽也同理。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1621697.html

延伸阅读
标签: Web开发
自适应高度的问题,采用 Div + CSS 进行三列或二列布局时,事先不知道具体高度,只能根据内容的增减自适应高度,要使两列(或三列)的高度相同,用 Table 很容易实现,但采用 Div + CSS 就显得比较麻烦了。按照一般的做法,大都采用背景图填充或 JS 脚本的方法使高度相同,但这些都不是最好的办法,我认为… 下面介绍采用“隐藏容器溢...
标签: Web开发
div+css实现圆角边框,在网络上查看了一下,很多都是实现圆角的矩形的方法,我在这里介绍的是实现圆角矩形边框的方法。 用代码说明问题: html head style #a{ border-left:1px #333 solid; border-right:1px #333 solid; width:300px; height:500px; } .b{ height:1px; overflow:hidden; border-left:1px #333 solid; border-right:1px #333...
标签: Web开发
Div上下居中-www.51windows.Net 我站在中央了center 我站在中央了center [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
有朋友使用DIV居中,但是却发现DIV居中失灵了,是怎么回事呢?下面给大家解决一下问题,呵呵! 1、一般情况下DIV居中失效是因为没写DTD语句 在页面的最上方加上: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 就可以了!其实其他...
标签: Web开发
相关文章:http://www.webjx.com/css/divcss-4952.html http://www.webjx.com/css/divcss-5991.html 本来想把这个题目修改为闭合浮动元素或清除浮动元素,但想了一下,还是不修改为好。因为从这个题目我们可以更加容易的看出,如果您没有闭合(清除)浮动元素,它将造成的后果是-----div的高度不能自动增加。 言归正传 目前用来...

经验教程

13

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部