如何实现未知高居垂直居中
2008-11-13 23:33
232 查看
<script type="text/javascript"><!--
google_ad_client = "pub-4490194096475053";
/* 内容页,300x250,第一屏 */
google_ad_slot = "3685991503";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>管我们知道CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个div容器里有未知高度的文本或图片的情况下)。
标准浏览器如Mozilla,Opera等,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (display: table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的。依然解决不了未知高居垂直居中。
非标准浏览器只能在子元素里设距顶部50%,里面再套一个容器元素距顶部-50% 来抵消。最终实现未知高居垂直居中的设置。
看下面的CSS代码:
body {padding: 0; margin: 0;}
body,html{height: 100%;}
#outer {height: 100%; overflow: hidden; position: relative;width: 100%; background:ivory;}
#outer[id] {display: table; position: static;}
#middle {position: absolute; top: 50%;} /* for explorer only*/
#middle[id] {display: table-cell; vertical-align: middle; position: static;}
#inner {position: relative; top: -50%;width: 400px;margin: 0 auto;} /* for explorer only */
div.greenBorder {border: 1px solid green; background-color: ivory;}
下面是XHTML代码:
<div id="outer">
<div id="middle">
<div id="inner" class="greenBorder">
</div>
</div>
</div>
google_ad_client = "pub-4490194096475053";
/* 内容页,300x250,第一屏 */
google_ad_slot = "3685991503";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>管我们知道CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个div容器里有未知高度的文本或图片的情况下)。
标准浏览器如Mozilla,Opera等,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (display: table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的。依然解决不了未知高居垂直居中。
非标准浏览器只能在子元素里设距顶部50%,里面再套一个容器元素距顶部-50% 来抵消。最终实现未知高居垂直居中的设置。
看下面的CSS代码:
body {padding: 0; margin: 0;}
body,html{height: 100%;}
#outer {height: 100%; overflow: hidden; position: relative;width: 100%; background:ivory;}
#outer[id] {display: table; position: static;}
#middle {position: absolute; top: 50%;} /* for explorer only*/
#middle[id] {display: table-cell; vertical-align: middle; position: static;}
#inner {position: relative; top: -50%;width: 400px;margin: 0 auto;} /* for explorer only */
div.greenBorder {border: 1px solid green; background-color: ivory;}
下面是XHTML代码:
<div id="outer">
<div id="middle">
<div id="inner" class="greenBorder">
</div>
</div>
</div>
相关文章推荐
- 如何实现未知高居垂直居中?_div+css布局教程
- CSS中如何实现未知尺寸图片垂直居中
- 如何实现整个页面垂直和水平居中
- 如何实现css垂直居中
- Css 中单行及多行文字如何实现水平垂直居中?
- 父元素为一个div,宽度高度不固定,子元素是一个块状元素,宽高已知,如何实现子元素在父元素内水平、垂直居中?
- 如何让未知尺寸的图片、单行文本、多行文本水平垂直居中?
- 用CSS如何实现单行图片与文字垂直居中
- 纯CSS实现:垂直居中,未知宽高,已知宽高,IE5除外所有浏览器均兼容
- css如何实现垂直居中
- 摘抄:CSS如何实现单行图片与文字垂直居中
- 如何实现嵌套的内部div垂直水平居中
- IE8~实现未知节点高度实现垂直居中
- 如何实现div块的居中(水平加垂直居中)
- 如何在页面布局中实现元素水平+垂直居中
- 纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
- 使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。
- HTML的DIV如何实现垂直居中