<style> 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;} </style> <div id="outer"> <div id="middle"> <div id="inner" class="greenBorder">5535435 </div> </div> </div> |
标准浏览器如Mozilla, Opera, Safari等,可将:
父级元素显示方式设定为:TABLE(display: table;) ,
内部子元素定为table-cell (display: table-cell),
通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的。
非标准浏览器只能在子元素里设距顶部50%,里面再套个元素距顶部-50% 来抵消。