面试的时候经常会被问到这样一个题目:让一个元素中内容垂直居中怎么做。其实之前,我就会两种,line-height和table-cell,
今天做项目,遇到了这个问题,就系统的查了一下,总结一下方法:
1、line-height div{
height: 100px;
line-height:100px;
text-align:center;
} 这样就能让div中的文字水平垂直居中了 2、display:table-cell table-cell这个属性是在看head first 书的时候学习的,通过display 设置为table table-row table-cell,让元素以表格的样子显示。 .out{
display:table;
}
.inner{
display: table-cell;
vertical-align: middle;
} 3、CSS3的flex布局 div{
/*设置为伸缩容器*/
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
/*水平居中*/
-webkit-box-pack: center;/*旧版本*/
-moz-box-pack: center;/*旧版本*/
-ms-flex-pack:center;/*混合版本*/
-webkit-justify-content:center;/*新版本*/
justify-content: center;/*新版本*/
/*垂直居中*/
-webkit-box-align: center;/*旧版本*/
-moz-box-align: center;/*旧版本*/
-ms-flex-align: center;/*混合版本*/
-webkit-align-items: center;/*新版本*/
align-items: center;/*新版本*/
} 4、使用padding,这需要知道确定的高度
5、CSS3的transform来实现 .center-vertical{
position: relative;
top:50%;
transform:translateY(-50%);
}.center-horizontal{
position: relative;
left:50%;
transform:translateX(-50%);
}

转自:http://blog.csdn.net/xiaozhuxmen/article

面试的时候经常会被问到这样一个题目:让一个元素中内容垂直居中怎么做。其实之前,我就会两种,line-height和table-cell,今天做项目,遇到了这个问题,就系统的查了一下,总结一下方法:
1、line-height

div{
height: 100px;
line-height:100px;
text-align:center;
}

这样就能让div中的文字水平垂直居中了

2、display:table-cell

table-cell这个属性是在看head first 书的时候学习的,通过display 设置为table table-row table-cell,让元素以表格的样子显示。

.out{
display:table;
}
.inner{
display: table-cell;
vertical-align: middle;
}

3、CSS3的flex布局

div{
/*设置为伸缩容器*/
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
/*水平居中*/
-webkit-box-pack: center;/*旧版本*/
-moz-box-pack: center;/*旧版本*/
-ms-flex-pack:center;/*混合版本*/
-webkit-justify-content:center;/*新版本*/
justify-content: center;/*新版本*/
/*垂直居中*/
-webkit-box-align: center;/*旧版本*/
-moz-box-align: center;/*旧版本*/
-ms-flex-align: center;/*混合版本*/
-webkit-align-items: center;/*新版本*/
align-items: center;/*新版本*/
}

4、使用padding,这需要知道确定的高度
5、CSS3的transform来实现

.center-vertical{
position: relative;
top:50%;
transform:translateY(-50%);
}.center-horizontal{
position: relative;
left:50%;
transform:translateX(-50%);
}

css 盒子垂直居中的更多相关文章

  1. css盒子垂直居中

    首先父盒子包住子盒子 <body> <div class="outbox"> <div class="box"></d ...

  2. 【最全】CSS盒子(div)水平垂直居中居然还有这种方式

    最全的CSS盒子(div)水平垂直居中布局,对CSS 布局掌握程度决定你在 Web 开发中的开发页面速度. 相对于屏幕 方法一:利用定位 <div class="box"&g ...

  3. 让div盒子相对父盒子垂直居中的几种方法

    div相对于父盒子垂直居中的几种方法,之前在网上看到很多种方法,确实说的很对,也很具体,但是我感觉对于初学者来说,一目了然是最重要的,所以,我把很高深的技巧,和很复杂的css样式都剔除掉,旨在让更多人 ...

  4. CSS水平垂直居中总结

    行内元素水平居中 把行内元素包裹在块级父元素中,且父元素中的css设置text-align:center; <!DOCTYPE html> <html> <head> ...

  5. html中元素盒子垂直居中的实现方法

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. css盒子模型基础,margin-top塌陷,元素溢出

    现在布局不用table,一般用盒子模型来布局,也就是通常说的div+css,一个页面就是多个盒子的拼接   一. 初识盒子模型   例子1,测试盒子各属性设置   <head> <s ...

  7. 深入理解CSS盒子模型

    在CSS中浮动.定位和盒子模型,都是很核心的东西,其中盒子模型是CSS很重要基石之一,感觉还是很有必要把CSS盒子模型相关知识更新一下...... CSS盒子模型<BoxModel>示意图 ...

  8. 五种方法让CSS实现垂直居中

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

  9. CSS实现垂直居中的5种方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...

随机推荐

  1. iOS: 向Github的README.md里添加图片

    我们将项目上传到Github上开源供大家使用,可是,有时只是在READEME.md中做一些文字说明并不直观,如果能给上演示的截图是不是更能把功能展示的一目了然呢. 不费话了,直接上步骤: 第一步:首先 ...

  2. Mongodb 常用命令2

    1.把一个collection里面的数据复制到另一个collection中,比如category集合中数据备份到category_clone中 db.category.find().forEach(f ...

  3. Android -- 利用Broadcast开启Service

    Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开 ...

  4. Sqlserver 使用CTE如何按子查询排序?

    需求:查出最近有更改的客户信息(按最后更改时间排序,来自SystemLog表LogDateTime字段) 说明: Customer:客户信息表SystemLog:系统日志表,记录所有表信息的增,删,改 ...

  5. Kettle中根据一个输入行派生出多个输出行

    依然在北京,早上停电了,整个人感觉对不好了,接下来就说一下在使用ETL工具kettle做数据校验的时候遇到的一些问题,一级解决方案. 1:数据校验效果图下图: 原始表数据(需要校验的表数据) 对上表数 ...

  6. Android MVP 构架初试

    目前讨论MVP MVVM 的架构也来越多,这种构架也很适合Android.研究MVP记录如下 源码地址RxMVP分支Tag02 原有的MVC构架 刚开始接触Android的时候会觉得Android的整 ...

  7. C++ 11 - STL - 函数对象(Function Object) (上)

    1. 定义 在STL中,可以把函数传递给算法,也可以把函数对象传递给算法. 那么,什么是函数对象呢? 我们来看下它的声明: class X { public: // define function c ...

  8. Android高手进阶篇4-实现侧滑菜单框架,一分钟集成到项目中

    先来看下面的这张效果图: 上面这张效果图是百度影音的,现在在Android上很流行,最初是由facebook自己实现的,而后各大应用有跟风之势,那么这种侧滑效果是如何实现的呢? 网上现在这种侧滑菜单的 ...

  9. MySQL 工具

    MySQL 客户端工具: 1:mysql       #mysql的功能和Oracle的sqlplus一样,它为用户提供一个命令行接口来管理Mysql服务器. 2:mysqladmin #mysqla ...

  10. 查看sqlserver 2008中性能低下的语句

    经常使用这个语句来查看性能低下的sql语句: SELECT creation_time N'语句编译时间' ,last_execution_time N'上次执行时间' ,total_physical ...