面试的时候经常会被问到这样一个题目:让一个元素中内容垂直居中怎么做。其实之前,我就会两种,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. 用500行Julia代码开始深度学习之旅 Beginning deep learning with 500 lines of Julia

    Click here for a newer version (Knet7) of this tutorial. The code used in this version (KUnet) has b ...

  2. 如何安装pip、升级pip包。mac下安装包的路径

    参考:https://pip.pypa.io/en/stable/installing/ 1.wget -c  https://bootstrap.pypa.io/get-pip.py 2.pytho ...

  3. iOS:UIPageViewController翻页控制器控件详细介绍

    翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...

  4. iOS网络编程解析协议三:JSON数据传输解析

    作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 基于JavaScript的一个子集 易读性略差,编码手写难度大,数据量小 JSON格式取代了XML给网络传输带来了很大的便利, ...

  5. Nginx安装及配置文件解释

    安装nginx,还是在mac上面用brew比较方便. 首先,brew install nginx,提示改权限 sudo chown -R $(whoami) /usr/local 然后brew ins ...

  6. Servlet学习笔记(二):表单数据

    很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法. 1.GET 方法:GET 方法 ...

  7. Android -- 写xml到SD卡中

    信息类                                                                                          private ...

  8. QPS、RT、PV、UV之间的关系

    QPS: 每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力. QPS = req/sec = 请求数/秒 QPS统计方式 [一般使用 http_load 进行统计 ...

  9. [AngularJS] Angular 1.3 Anuglar hint

    Read More: http://www.linkplugapp.com/a/953215 https://docs.google.com/document/d/1XXMvReO8-Awi1EZXA ...

  10. ThreadPoolExecutor中策略的选择与工作队列的选择(java线程池)

    工作原理 1.线程池刚创建时,里面没有一个线程.任务队列是作为参数传进来的.不过,就算队列里面有任务,线程池也不会马上执行它们. 2.当调用 execute() 方法添加一个任务时,线程池会做如下判断 ...