CSS实现完美垂直居中
| CSS实现完美垂直居中 |
|
作者:ruxpinsp1 时间: 2006-02-24 文档类型:原创 来自:蓝色理想
|
|
之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 table 布局一样。不过最近有人问了几个例子,看来对此的需求还不少。现在就把我经验拿出来分享一下,希望大家鼓鼓掌。 首先,要有一个概念:凡是 table 布局可以实现的,CSS 一定可以实现。CSS 可以实现的,table 未必能做到。 现在来几个例子: 一、单行内容的居中 height: 4em; line-height: 4em; overflow: hidden; } 优点: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 上一个高度是用的绝对单位px,并且没有隐藏溢出,下一个高度用的单位是相对单位em,并且隐藏了溢出。如果你的浏览器支持放大字体,那么尽情地放大字体,看看会出现什么效果。 二、多行内容居中,且容器高度可变 padding-top: 24px; padding-bottom: 24px; } 优点: 三、把容器当作表格单元 display: table-cell; height: 300px; vertical-align: middle; } 可惜IE不支持这些属性,不过在其他浏览器上显示效果非常完美。 优点: 四、以毒攻毒!用 IE 的 bug 解决 IE 中的绝对居中 height: 300px; position: relative; } .middle-demo-4 div{ position: absolute; top: 50%; left: 0; } .middle-demo-4 div div{ position: relative; top: -50%; left: 0; } 五、整合三和四,写出支持所有浏览器的垂直居中容器! 最后附上自己写的,所有居中布局的范例网页,大家不明白可以参考。 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] |
- 16:43
- 浏览 (356)
- 评论 (2)
- 分类: javascript && html && css
- 相关推荐







评论排行榜