vertical-align:middle  是依赖div内子元素最高的行高来实现对某元素居中的

-------不存在浮动时可以直接生效垂直居中

HTML

.box1{
display: table-cell;
vertical-align: middle;
text-align: center;
}

CSS

<div class="box box1">
<span>垂直居中</span>
</div>

-----如果存在浮动不生效情况 需要通过元素占位的方法居中可以通过:after 或者直接新建元素 (可能是定位影响子元素默认最高的行高)

.box1{
float:left;
}

  

.box1:after{
content:'';
width:0;
height:100%;
display:inline-block;
vertical-align:middle;
}

  

其他垂直居中方式  浏览器兼容性不能兼容较低版本 很多是HTML5样式

       display:flex

.box1{
display: flex;
justify-content:center;
align-items:Center;
}

   绝对定位和负边距

.box1{position:relative;}
.box1 span{
position: absolute;
width:100px;
height: 50px;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-25px;
text-align: center;
}

  绝对定位和0

.box1 span{
width: 50%;
height: 50%;
background: #000;
overflow: auto;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}

  translate

.box1 span{
position: absolute;
top:50%;
left:50%;
width:100%;
transform:translate(-50%,-50%);
text-align: center;
}

  display:flex和margin:auto

.box1{
display: flex;
text-align: center;
}
.box1 span{margin: auto;}

 display:-webkit-box

.box1{
display: -webkit-box;
-webkit-box-pack:center;
-webkit-box-align:center;
-webkit-box-orient: vertical;
text-align: center
}

 display:-webkit-box

<div class="floater"></div>
<div class="content"> Content here </div>

  

.floater {
float:left;
height:50%;
margin-bottom:-120px;
}
.content {
clear:both;
height:240px;
position:relative;
}

  

原文出处:http://www.cnblogs.com/hutuzhu/p/4450850.html

最新文章

  1. get back to the slower clock rate that allows it to save more power
  2. spring mvc配置完后实现下载功能
  3. ios ZBar扫二维码奇奇怪怪的错误
  4. 【翻译】Kinect Studio是? 三月 SDK Update的新机能
  5. 使用了BeanUtils的简单操作
  6. JavaScript的this简单实用
  7. Pomelo实现最简单的通信-egret。
  8. vb mid 函数使用说明
  9. 关于JS函数的bind
  10. 纪中集训 Day1
  11. ios坐标位置转换
  12. Hibernate map enum type
  13. git命令记录
  14. CentOS 7 yum 安装 MySQL5.7
  15. CSS解决无空格太长的字母,数字不会自动换行的问题
  16. prometheus alert rules文件格式化
  17. ranker.go
  18. (办公)springmvc-&gt;controller的统一异常层,返回json
  19. Springboot整合Mybatis-puls
  20. navicat使用ssh登录mysql报错:expected key exchange group packet from server

热门文章

  1. Fat URLs Client Identification
  2. 通过js获取UserAgent写入数据库 js传值至php
  3. python定义函数时默认参数注意事项
  4. Pycharm建立web2py项目并简单连接MySQL数据库
  5. Spark高速入门指南(Quick Start Spark)
  6. wordpress 主题开发
  7. cnn for qa
  8. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境
  9. iis7.5安装配置php环境详细清晰教程,三步实现【图文】
  10. Gym - 100548H The Problem to Make You Happy 2014-2015 ACM-ICPC, Asia Xian Regional Contest (BFS+博弈)