利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。

Line-Height Method


试用:单行文本垂直居中

代码:

html

<div id="parent">
<div id="child">Text here</div>
</div>

css

#child {
line-height: 200px;
}

垂直居中一张图片,代码如下

html

<div id="parent">
<img src="data:image.png" alt="" />
</div>

css

#parent {
line-height: 200px;
}
#parent img {
vertical-align: middle;
}

CSS Table Method

适用:通用

代码:

html

<div id="parent">
<div id="child">Content here</div>
</div>

css

#parent {display: table;}
#child {
display: table-cell;
vertical-align: middle;
}

低版本 IE fix bug:

#child {
display: inline-block;
}

Absolute Positioning and Negative Margin

适用:块级元素

代码:

html

<div id="parent">
<div id="child">Content here</div>
</div>

css

#parent {position: relative;}
#child {
position: absolute;
top: %;
left: %;
height: %;
width: %;
margin: -% -%;
}

Absolute Positioning and Stretching

适用:通用,但在IE版本低于7时不能正常工作

代码:

html

<div id="parent">
<div id="child">Content here</div>
</div>

css

#parent {position: relative;}
#child {
position: absolute;
top: ;
bottom: ;
left: ;
right: ;
width: %;
height: %;
margin: auto;
}

Equal Top and Bottom Padding

适用:通用

代码:

html

<div id="parent">
<div id="child">Content here</div>
</div>

css

#parent {
padding: % ;
}
#child {
padding: % ;
}

Floater Div

适用:通用

代码:

html

<div id="parent">
<div id="floater"></div>
<div id="child">Content here</div>
</div>

css

#parent {height: 250px;}
#floater {
float: left;
height: %;
width: %;
margin-bottom: -50px;
}
#child {
clear: both;
height: 100px;
}

以上就是六种方法,可以在实际的使用过程中合理选择,参考文章《vertical-centering》。

CSS 元素垂直居中的 6种方法的更多相关文章

  1. [转]-CSS 元素垂直居中的6种方法

    原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD ...

  2. 顽石系列:CSS实现垂直居中的五种方法

    顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https:// ...

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

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

  4. 纯CSS实现垂直居中的几种方法

    垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法.有了css3,针对移动端的垂直居中就更加多样化. 方法1:tab ...

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

    今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法.为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中 ...

  6. css元素垂直居中的8中方法

    1. 通过vertical-align:middle实现CSS垂直居中 通过vertical-align:middle实现CSS垂直居中是最常使用的方法,但是有一点需要格外注意,vertical生效的 ...

  7. css 水平居中垂直居中的几种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. css一个元素垂直居中的6种方法

    方法一: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  9. CSS水平垂直居中的几种方法2

    直接进入主题! 一.脱离文档流元素的居中 方法一:margin:auto法 CSS代码: div{ width: 400px; height: 400px; position: relative; b ...

随机推荐

  1. GMT、UTC、PDT 时间是什么?Linux下如何调整时区

       今天碰到一个时区配置问题,如果服务器时区配置不对,很可能在使用date相关函数时会出现莫名其妙的错误,现将相关时区说明及LINUX下调整时区方法记录如下,以做备忘. GMT GMT 是 Gree ...

  2. Squid代理服务器&&搭建透明代理网关服务器

    案例需求 ——公司选用RHEL5服务器作为网关,为了有效节省网络带宽.提高局域网访问Internet的速度,需要在网关服务器上搭建代理服务,并结合防火墙策略实现透明代理,以减少客户端的重复设置工作 需 ...

  3. GLSL实现简单硬件Anisotrop Lighting 【转】

    http://blog.csdn.net/a3070173/archive/2008/11/13/3294660.aspx 各向异性光照往往用于处理一些具有各向异性表面的物体,如:光盘的盘面.为避免在 ...

  4. Python string objects implementation

    http://www.laurentluce.com/posts/python-string-objects-implementation/ Python string objects impleme ...

  5. day02 Java基础

    1.Java中的关键字都是小写的. 2.Java中的关键字 3.Java中的注释分为:单行注释.多行注释.文档注释 文档注释将被javadoc工具解析生成一个说明书. 4.Java中的常量分为字面值常 ...

  6. 高级I/O之存储映射I/O

    存储映射I/O(Memory-mapped I/O)使一个磁盘文件与存储空间中的一个缓冲区相映射.于是当从缓冲区中取数据,就相当于读文件中的相应字节.与此类似,将数据存入缓冲区,则相应字节就自动地写入 ...

  7. java_线程安全-service

    package com.demo.test; import java.util.Collections; import java.util.HashMap; import java.util.Map; ...

  8. BloomFilter——读数学之美札记

    之前接触过bitmap,读吴军先生的数学之美,看到了一个更强大的数据结构,布隆过滤器(Bloomfilter),赶紧记下来吧,忘了怪可惜的. bitmap的使用是很有局限性的,往往只能用于海量数值型数 ...

  9. 防火墙导致FTP传输文件为0

    在使用 ftpClient 传输文件到FTPserver时,在别的机器上可以正常使用,但是到自己的机器有就始终是0文件,发现是Mcafee 防火墙导致的,只要让防火墙放行即可. Mcafee防火墙的放 ...

  10. ASP.NET MVC 下载列表

    在ASP.NET WebForm里要想网站某个文件夹的文件列出来供用户下载似乎很简单,WebForm帮你做了很多事,只需要在Html文件里写: <a href="~/download/ ...