CSS垂直居中的四种方法
写在前面的话
最近在Stack Overflow上看到 一个不错的回答 ,以下是我对其的总结,分享给大家。
垂直居中的四种方法
①基础的方法
设置父元素的line-height等于height,这种方法只适用于对一行文字进行垂直居中对齐
<div style="width: 300px; height: 300px; line-height: 300px; background: #FF6600; margin: 50px auto;">
<p> 设置父元素line-height = height </p>
</div>
②使用vertical-align:middle
这是另一种垂直居中对齐的方法,适用于单行文本和多行文本,但它仍然需要一个高度固定的父元素盒子。
<div>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
下面是样式表
div {
width: 250px;
height: 100px;
line-height: 100px;
text-align: center;
background: #bbbbbb;
}
span {
display: inline-block;
vertical-align: middle;
line-height: normal;
}
③模拟table display
<div>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
</div>
下面是样式表
div {
display: table;
width: 250px;
height: 100px;
text-align: center;
}
span {
display: table-cell;
vertical-align: middle;
}
这是另外一种垂直居中对齐的方法,但是它可能不能在老的浏览器中实现(IE7以下)
④使用绝对定位
这种方法使用绝对定位,并设置top、bottom、left、right都为0,在Smashing Magazine的文章中描述了更多的细节。
<div class="outer">
<div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
</div>
下面是样式表
div.outer{
position: relative;
width: 500px;
height: 500px;
background: #bbbbbb;
}
div.inner {
width: 50%;
height: 50%;
overflow: auto;
margin: auto;
position: absolute;
top:; left:; bottom:; right:;
background: #FF6600;
}
效果图

结尾
如果有更多垂直居中的方法,希望能交流学习以下,在此感谢。
CSS垂直居中的四种方法的更多相关文章
- CSS垂直居中的8种方法
CSS垂直居中的8种方法 1.通过verticle-align:middle实现CSS垂直居中. 通过vertical-align:middle实现CSS垂直居中是最常使用的方法,但是有一点需要格外注 ...
- 完美实现CSS垂直居中的11种方法
在做前端项目时CSS的水平居中我们经常使用,但有时还会用到CSS垂直居中,对于小白来说这个就有些难度了,下面看一下我是如何实现的 本人前端小白,正在做一个小程序开发的项目,css样式调整搞的头都大了. ...
- HTML引入CSS样式的四种方法
在HTML中引入CSS的方法主要有四种,它们分别是行内式.内嵌式.链接式和导入式. 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐 ...
- css布局------块元素水平垂直居中的四种方法
HTML <div class="parent answer-1"> <div></div></div> CSS .parent { ...
- 解决CSS垂直居中的几种方法(基于绝对定位,基于视口单位,Flexbox方法)
在CSS中对元素进行水平居中是非常简单的:如果它是一个行内元素,就对它的父元素应用 text-align: center ;如果它是一个块级元素,就对它自身应用 margin: auto.然而如果要对 ...
- 纯CSS垂直居中的四种解决方案
总结了几种解决方法 但也不是说除了我说的就没有其他方法了 第一个.利用flex布局 代码: 效果: 第二个.利用transform 的 translate属性 代码: 效果: 第三个.使用伪类::af ...
- 让一个小div在另一个大div里面 垂直居中的四种方法
方法一 .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width: ...
- 顽石系列:CSS实现垂直居中的五种方法
顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https:// ...
- css如何实现垂直居中(5种方法)
css如何实现垂直居中(5种方法) 一.总结 一句话总结:行内只需要简单地把 line-height 设置为那个对象的 height 值就可以使文本居中了. 块的话可以尝试 margin:auto: ...
随机推荐
- 表单校验--js部分
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- SDUT OJ 数组计算机(线段树)
学长推荐了这个博客详细的介绍了线段树的建立.查找.更新: 数组计算机 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Prob ...
- TX2 自制底板不识别USB
目的:解决自制的底板无法识别USB,使能3个UART接口,使能3个SPI接口. Jetpack版本:Jetpack-3.1 虚拟机:ubuntu14.04 使用dtb文件夹下的文件替换刷机包../64 ...
- P2057 [SHOI2007]善意的投票 (最大流)
题目 P2057 [SHOI2007]善意的投票 解析 网络流的建模都如此巧妙. 我们把同意的意见看做源点\(s\),不同意的意见看做汇点\(t\). 那我们\(s\)连向所有同意的人,\(t\)连向 ...
- ios网络 -- HTTP请求 and 文件下载/断点下载
一:请求 http://www.jianshu.com/p/8a90aa6bad6b 二:下载 iOS网络--『文件下载.断点下载』的实现(一):NSURLConnection http://www. ...
- linux下的小命令
(1) 查看服务器的IP信息 ip add show ifconfig (2) 操作网卡命令(重启网络和启用网卡) cleasystemctl restart network systemctl st ...
- sublim text3中的一些设置
{ "dictionary": "Packages/Language - English/en_US.dic", "font_face&q ...
- Ubuntu下apt-get安装Java,Tomcat
sudo apt-get update sudo add-apt-repository ppa:webupd8team/java sudo apt-get install oracle-java8-i ...
- mysql GPID学习
1.为什么引入GPID? 解决主备复制的延时问题 单线程太慢, 多线程复制的问题是:最终数据可能不一致 MySQL主从延时这么长,要怎么优化? 2. 引入后有哪些缺点 不支持create table ...
- 学习总结——docker
1.docker 配置 docker 安装 docker 修改默认存储位置 docker 命令详解(run篇) docker 命令详解(cp篇) 2.docker 镜像相关资料 docker 把容器c ...