CSS在固定宽高的div内实现垂直居中的实例详解
haorooms 发布时间:2016-06-03 11:50:57 作者:Aaron 我要评论
这篇文章主要介绍了CSS在固定宽高的div内实现垂直居中的实例详解,即在div内部元素相对于div垂直居中的方法,需要的朋友可以参考下
需求案例
案例是这样的,一个外层div,高宽是固定的,但是里面内容不是固定的。很多朋友的做法是头部加一个padding或者margin,这样,里面内容显得貌似是居中了,但是假如内容变化,这样头部的固定padding或者margin,始终不变。造成了垂直方向不会居中!
我们知道,假如下面一个div
CSS Code复制内容到剪贴板
- <div class="outer"><div class="inner">haorooms内部内容</div></div>
样式是这样的
CSS Code复制内容到剪贴板
- .outer{text-align:center;vertical-align: middle;width:200px;height:350px;}
vertical-align:middle是不管用的,很多朋友就在.inner上面做文章了,和我上面说的,加margin等等!那对于这种情况,有没有更好的解决方案呢?
解决方法
思路:加一个cssHack,设置cssHack的line-height等于外层div的高度,就可以使用vertical-align:middle了!
div如下:
CSS Code复制内容到剪贴板
- <div class="outer">
- <div class="inner">haorooms内部内容</div><div class="v">cssHack</div>
- </div>
样式如下:
CSS Code复制内容到剪贴板
- * {
- margin: 0;
- padding: 0;
- }
- .outer {
- background-color: #ccc;
- font-size: 24px;
- height: 350px;
- text-align: center;
- overflow: hidden;
- width: 280px;
- }
- .outer .inner,
- .outer .v {
- display: inline-block;
- zoom: 1;*display: inline; /* 用于触发支持IE67 inline-block */
- }
- .outer .inner {
- line-height: 1.8;
- padding: 0 4px 0 5px;
- vertical-align: middle;
- width: 262px;
- }
- .outer .v {
- line-height: 350px;
- text-indent:-9999px;
- width: 1px;
- }
这样就实现了div内部的垂直居中了!
相关文章
- 这篇文章主要介绍了CSS水平垂直居中的几种方法总结,垂直居中是布局中十分常见的效果之一,本文介绍了几种方法,有兴趣的可以了解一下。2016-12-19
- 这篇文章主要为大家详细介绍了css让容器水平垂直居中的7种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-10-17
- 这篇文章给大家介绍了三个小节的内容,其中包括关于css3中flexbox需要掌握的概念、flexbox实现水平垂直居中对齐和三列等高自适应页脚区域黏附底部的布局,有需要的可以参考2016-09-12
- 这篇文章给大家演示了在不知道高度的情况下图片如何垂直居中对齐,文中给出了实例代码,有需要的朋友们可以参考借鉴。下面来一起看看吧。2016-09-12
深入理解CSS行高line-height与文本垂直居中的原理
本文详细介绍了CSS行高属性line-height与文本垂直居中的原理,通过本文的介绍相信对大家以后使用line-height和设置文本垂直居中会更加熟练,有需要的可以参考借鉴。下面一2016-08-12- 下面小编就为大家带来一篇Flexbox制作CSS布局实现水平垂直居中的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-07-27
- 这篇文章主要为大家详细介绍了兼容IE浏览器CSS设置DIV垂直居中的N种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-07-05
- 这篇文章主要介绍了CSS文本和div垂直居中方法总结,包括多行文本垂直居中,单行文本垂直居中,子div垂直居中,感兴趣的小伙伴们可以参考一下2016-07-04
- 下面小编就为大家带来一篇CSS 实现垂直居中的几种方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-06-14
- 在前端布局过程中,我们实现水平居中比较简单,一般通过margin:0 auto;和父元素 text-align: center;就能实现。今天小编给大家带来了CSS实现垂直居中的几种方法小结,感兴2019-05-14
最新评论