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 ...
随机推荐
- .htaccess 基础教程(三)RewriteCond标志符,RewriteRule适用的标志符
1.利用 .htaccess 防止盗链 如果不喜欢别人在他们的网页上链接自己的图片.文档的话,也可以通过htaccess的指令来做到.当然这样也可以对你的网站服务器压力变小! 这次先给出‘代码’,然后 ...
- chrome地址栏搜索直接跳转百度首页?
https://www.baidu.com/s?ie={inputEncoding}&wd=%s
- Windows7 + Ubuntu双系统安装过程记录
本文为在已安装Windows7系统的前提下安装Ubuntu Kylin 14.10系统的过程以及期间出现的各种问题的记录. Ubuntu系统下载 Ubuntu Kylin中文官方网站:http://w ...
- tornado 重定向404(方法不对)
application = tornado.web.Application(url_wrapper([ (r"", include('app.views.web_services. ...
- Hide JSP error icons in Eclipse
down voteaccepted Can can either configure this at workspace level or overwrite at web project level ...
- VS2013无法连接到SqlServer的问题解决
在本机安装Vs2013后,安装Sqlserver2012数据库,在VS开发时,数据库一直查询不到 点击刷新后,看不见本机Sql服务器 最初检查防火墙设置,发现添加sqlservr.exe依然不起作用 ...
- javaWeb项目部署到阿里云服务器步骤
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- 【目录】processing
Processing 小代码 小代码2 小代码3 小代码4 小代码5
- 吃透Javascript数组操作的正确姿势—再读《Js高程》
Javascript中关于数组对象的操作方法比较多也比较杂,正好再次捡起<Javascript高级程序设计>来读,把它们一一总结梳理了一下: 方法类别 方法名称 方法描述 参数 返回值 备 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...