css解决文字垂直居中
2015-09-16 14:48
741 查看
参考链接:/article/5015861.htmlhttp://zhidao.baidu.com/question/69214815.html对于文字的水平居中,text-align:center可以解决,垂直居中情况较复杂,分类讨论:
一、单行垂直居中单行文本,如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。如:div{height:100px;line-height:100px;overflow:hidden;}
这段代码很简单,后面使用overflow:hidden的设置是为了防止内容超出容器或者产生自动换行,这样就达不到垂直居中效果了。
不过在InternetExplorer6及以下版本中,这和方法不支持对图片设置垂直居中
二、多行未知高度文字的垂直居中
如果一段内容,它的高度是可变的,那么我们设定Padding,使上下的padding值相同即可。同样的,这也是一种“看起来”的垂直居中方式,它只不过是使文字把<div>完全填充的一种方式而已。可以使用类似下面的代码:
div{ padding:25px; border:1pxsolid#FF0099; background-color:#FFCCFF; width:760px; }
三、多行文本固定高度的居中
在本文的一开始,我们已经说过CSS中的vertical-align属性只会对拥有valign特性的(X)HTML标签起作用,但是在CSS中还有一个display属性能够模拟<table>,所以我们可以使用这个属性来让<div>模拟<table>就可以使用vertical-align了。注意,display:table和display:table-cell的使用方法,前者必须设置在父元素上,后者必须设置在子元素上,因此我们要为需要定位的文本再增加一个<div>元素:
div#wrap{ height:400px; display:table; } div#content{ vertical-align:middle; display:table-cell; border:1pxsolid#FF0099; background-color:#FFCCFF; width:760px; }
<divid="wrap"> <divid="content">
<pre>现在我们要使这段文字垂直居中显示!div#wrap{ height:400px; display:table; } div#content{ vertical-align:middle; display:table-cell; border:1pxsolid#FF0099; background-color:#FFCCFF; width:760px; }</pre></div></div>上面的方法ie8及以下都不支持,下面是完美解决兼容性问题的方法:
四、完美的解决方案
.outer{ display:table;width:578px;overflow:hidden; background:#eee;height:42px; } .middle{display:table-cell;vertical-align:middle;margin-left10px;} <!--下面的CSS是针对IE8,IE7,IE6--> <!--[iflteIE8]> <style> .outer{position:relative;} .middle{position:absolute;top:50%;} .inner{position:relative;top:-50%} </style> <![endif]-->以上是样式!~这里我们需要定义三个DIV:外层(outer)可以根据需要定义高度、宽度,但是display必须为table。中间层(middle)可以有特定的CSS样式,例如:margin-left,但是display必须为table-cell,vertical-align必须为middle。内层(inner)主要是用来对付IE6和IE7Ie8的()。有了上面的CSS,HTML代码可以这么写:
<divclass="outer"> <divclass="middle"> <divclass="inner"> 把你要居中的文本放在这里 这是第二行 ... </div> </div> </div>
相关文章推荐
- CSS display:table属性用法解析
- CSS selector选择符 进行CSS网页布局的基础
- My97DatePicker 与 某个CSS冲突 ,导致无法显示
- SpannableString 给TextView添加不同的显示样式
- SpannableString 给TextView添加不同的显示样式
- SpannableString 给TextView添加不同的显示样式
- 使用 CSS3 实现超炫的 Loading(加载)动画效果
- CSS中!improtant的使用
- css选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先
- CSS position属性的四个值:static,absolute,fixed,relative
- css
- CSS3 transform的skew属性值图文详解
- 包罗万象的JS功能,配上刚刚发布的CSS简直是完美,没有前端的IT好好看看
- 直接调用的CSS超级棒的哦,用过才知道,整理好久才整理出来的,下一篇会发使用说明
- CSS中font-size属性值四大种类
- CSS代码结构中id及class类命名探究
- 【CSS】单行图片与文字垂直居中
- 用CSS变形创建圆形导航
- IE中中CSS伪类:hover的使用及其BUG
- CSS伪类的概念及作用