CSS实现元素水平/垂直居中的方法
首先,我们来了解水平居中,它有很多种方法,我们暂时先来了解其中的几种:
1. 在实现方案中,我们最熟悉的莫过于给元素定义一个宽度,然后使用margin:
1
2
3
4
|
body{ width : 960px ; margin : 0 auto ; } |
这个是当我们的定义元素的宽度时显现的,如果我们不能定义宽度时,该怎么办呢?
2. 我们对于定位也是常用的,在这里当然也可以采用定位的方法来实现:
1
2
3
4
|
body{ position : absolute ; left : 50% ; } |
3. 既然定位可以,那浮动也是可以的:
1
2
3
4
|
body{ float : left ; right : 50% ; } |
4. 对于几个元素同时居中在一条线上:
1
2
3
|
body{ vertical-align : middle ; } |
5. 利用table:
1
2
3
4
5
6
|
ul{ display :table; } ul li{ display : table-cell ; } |
6. 还可以使用inline-block来实现,但要使用这个就得在其父元素上设置text-align.如下:
1
2
3
4
5
6
|
body{ text-align : center ; } .content{ display :inline- block ; } |
实现垂直居中的四种方法:
1. 只能是单行文本居中(可适用于所有浏览器):
1
2
3
4
|
.content{ height : 100px ; line-height : 100px ; } |
2. 跟水平居中一样,垂直也可以用定位的方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
.content{ position : absolute ; top : 0 ; bottom : 0 ; left : 0 ; right : 0 ; margin : auto ; } 或者 .content{ position : absolute ; top : 50% ; } |
定位的方法,它的缺点是当没有足够的空间时,元素会消失。
3. 对此,浮动也是可以的:
1
2
3
4
5
6
7
8
9
10
|
.content{ float : left ; top : 50% ; margin-bottom : -120px ; } .footer{ clear : both ; height : 240px ; position : relative ; } |
对于浮动,我们需要在之后清除,并显示在中间。
4. 也可以使用vertical-align属性:
1
2
3
4
|
.content{ display : table-cell ; vertical-align : middle ; } |
这种方法可以随意改变元素高度,但在IE8中无效。
现在来看个div模块在屏幕中居中的例子:
1
2
3
4
5
|
position : absolute ; top : 50% ; left : 50% ; //上下移动屏幕的 50% margin : auto ; -webkit-transform: translate( -50% , -50% ); //减去自身的 50% (多移动的) -ms-transform: translate( -50% , -50% ); transform: translate( -50% , -50% ); |
这个基本可以不确定宽高的模块居中,但是在低版本的浏览器中可能出现问题,现在还没测试过,但是主流的都是可以的!
CSS实现元素水平/垂直居中的方法的更多相关文章
- css中元素水平垂直居中4种方法介绍
table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对blo ...
- css 实现元素水平垂直居中总结5中方法
个人总结,如有错误请指出,有好的建议请留言.o(^▽^)o 一.margin:0 auto:text-align:center:line-height方法 <div id="divAu ...
- CSS元素水平垂直居中的方法
1. 元素水平居中 1.1 设置父元素的属性 text-align: center; 说明:此属性只针对父元素的子元素为内联元素时有效,比如:img,input,select,button等(行内 ...
- CSS实现元素水平垂直居中—喜欢对称美,这病没得治
[TOC] 在CSS中对元素进行水平居中是非常简单的:如果它是一个行内元素,就对它的父元素应用text-align:center;如果它是一个块级元素,就对它自身应用margin:auto.然而要对一 ...
- css:元素水平垂直居中的多种方式
CSS元素(文本.图片)水平垂直居中方法 1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:ce ...
- css 常用的绝对定位元素水平垂直居中的方法
两种方法都能够实现: 1. div { height:80%; /*一定要设置高度*/ overflow:hidden;/*建议设置*/ margin: auto; position: absolut ...
- css实现块级元素水平垂直居中的方法?
父级给相对定位,子级给绝对定位,margin设置为auto,上下左右值设为0. 父级给相对定位,子级给绝对定位,设置left和top为50%,再向左和向上移动负的子级一半. 父级设置display:f ...
- CSS实现元素水平垂直居中
我们知道,实现元素的水平居中比较简单,在设置了宽度后,设置左右margin为auto就可以. 但是如何设置元素垂直居中呢? 当然,对于单行的文字,可以通过设置line-height来解决, 可以对于一 ...
- css控制元素 水平垂直居中
控制元素居中核心代码为 position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; css: /* 容器 */ .w ...
随机推荐
- tyvj1198 最优矩阵连乘
描述 一个n*m矩阵由n行m列共n*m个数排列而成.两个矩阵A和B可以相乘当且仅当A的列数等于B的行数.一个N*M的矩阵乘以一个M*P的矩阵等于一个N*P的矩阵,运算量为nmp. 矩阵乘法满 ...
- Windows平台下Qt中glut库的使用
用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...
- Fold Change和t分布
基因表达谱数据 基因表达谱可以用一个矩阵来表示,每一行代表一个基因,每一列代表一个样本(如图1).所有基因的表达谱数据在“gene_exp.txt”文件中存储,第一列为基因的entrez geneid ...
- Linux文件(区域)锁函数 -- open()、fcntl()
一.什么是文件锁定 对于锁这个字,大家一定不会陌生,因为我们生活中就存在着大量的锁,它们各个方面发挥着它的作用,现在世界中的锁的功能都可归结为一句话,就是阻止某些人做某些事,例如,门锁就是阻止除了屋主 ...
- 更改CentOS 6.3 yum源为国内163源
CentOS5.x: http://mirrors.163.com/.help/CentOS5-Base-163.repo CentOS6.x: http://mirrors.163.com/.hel ...
- EL算术表达式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- ubuntu下安装chrome
首先.题主在试过直接ubuntu终端命令安装chrome失败. 把经历过的错误稍微提一下: 在终端输入 下载安装包 sudo wget https://dl.google.com/linux/dire ...
- ABAP 客户报表
*&---------------------------------------------------------------------* *& Report ZSDR014 ...
- unity3d中串口的使用
工作中遇到了串口的问题,通过查资料&实验写出了下面代码: 关于串口的代码我在网上看了好多,一种是用事件来做,另外一种使用线程来做:(经过试验,unity无法用串口自带的事件进行数据读取): 看 ...
- 【Android】命令行jarsigner签字和解决找不到证书链错误
1.签名失败 $jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLor ...