Css实现垂直水平居中的六种方法
经常在项目中用到,今天总结了一下:
以下两个类为公共类,便于更好的显示效果,非核心代码
.common{
width: 600px;height: 180px;
background-color:#56abe4;
color: #fff;
margin: 15px auto;
border-radius: 3px;
}
.con{
display: inline-block;
padding: 15px;
width: 160px;
height: 80px;
background-color: orange;
}
正文部分:
第一种方法:
/*position: absolute;top:0;right: 0;bottom: 0;left: 0;margin: auto;*/
HTML结构:
<div class="common block1">
<div class="inner1 con">
position: absolute;
top:0;right: 0;bottom: 0;left: 0;
margin: auto;
</div>
</div>
CSS部分:
.block1{
position: relative;
}
.inner1{
position: absolute;
top:0;right: 0;bottom: 0;left: 0;
margin: auto;
}
第二种方法:
/*display: table-cell*/
HTML结构:
<div class="common block2">
<div class="con">
display: table-cell;
text-align: center;
vertical-align: middle;
</div> </div>
CSS部分:
.block2{
display: table-cell;
text-align: center;
vertical-align: middle;
}
第三种方法:
/*display: flex;*/
HTML结构:
<div class="common block3">
<div class="con">
display: flex;
align-items: center;
justify-content: center;
</div>
</div>
CSS部分:
.block3{
display: flex;
align-items: center;
justify-content: center;
}
第四种方法:
/*负定位*/
HTML结构:
<div class="common block4">
<div class="inner4 con">
position: absolute;
top: 50%;
left: 50%;
并利用负定位消除元素的上下,左右偏移
</div>
</div>
CSS部分:
.block4{
position: relative;
}
.inner4{
position: absolute;
top: 50%;
left: 50%;
margin-top: -55px;/*80/2+15=55*/
margin-left: -95px;/*160/2+15=95*/
}
第五种方法:
/*transform*/
HTML结构:
<div class="common block5">
<div class="inner5 con">
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%);
</div>
</div>
CSS部分:
.block5{
position: relative;
}
.inner5{
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%);
word-wrap: break-word;
}
第六种方法:(兼容性较好)
/*行内块*/
HTML结构:
<div class="common block6">
<div class="inner6 con">行内块:<br/>谨记span标签与该div之间是没有空白的,否则会产生误差</div><span></span>
</div>
CSS部分:
.block6{ text-align:center;}
.inner6,.block6 span{
display:inline-block;
*display:inline;
zoom:1;
vertical-align:middle;
}
.inner6{max-width:100%;max-height:100%;}
.block6 span{width:0;height:100%;}
以上几种方案存在兼容性问题,在使用时请先查询核心css的浏览器兼容情况,查询地址:http://caniuse.com/
以上。
欢迎补充~
Css实现垂直水平居中的六种方法的更多相关文章
- css实现垂直水平居中的5种方法
css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...
- css实现垂直水平居中的方法(个数不限)?
方法一:使用绝对定位 大家都知道margin:0 auto;能够实现水平居中,但却不知道margin:0 auto;也是可以实现垂直居中的: 给居中元素添加如下样式: .Absolute-Center ...
- CSS导航菜单水平居中的多种方法
CSS导航菜单水平居中的多种方法 在网页设计中,水平导航菜单使用是十分广泛的,在CSS样式中,我们一般会用Float元素或是「display:inline-block」来解决.而今天主要讲解如何让未知 ...
- css图片垂直水平居中及放大(实现水平垂直居中的效果有哪些方法?)
实现水平垂直居中方法有很多种: 一.万能法: 1.已知高度宽度元素的水平垂直居中,利用绝对定位和负边距实现. <style type="text/css"> .wrap ...
- CSS之垂直水平居中的背后
最开始,我想说,这个体系有点大,我写的并不好.就当作是一个思路吧,虽然这个思路有点乱.几乎每一个实现方案的背后都是该属性及其组合的原理,每一个都要剖析其规范细节的话,这篇文章绝不会是这样的篇幅,所以每 ...
- css文本垂直水平居中
一.单行文本居中 .content{ height:100px; line-height:100px; text-align:center; border:1px solid red; } 效果图 二 ...
- css实现容器垂直水平居中的七中方法
方法一:position加margin 方法二: diaplay:table-cell 方法三:position加 transform 方法四:flex;align-items: center;jus ...
- css实现垂直水平居中的方法
html结构: <div class="box"> <div>垂直居中</div> </div> 方法1:display:flex ...
- CSS之垂直水平居中方法
//居中方法1 position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 346px; height ...
随机推荐
- struts2操作数据库
struts2操作数据库是刚開始学习的人的一个难点也是一个重点,如今我为大家解说一下struts2操作数据库,使用struts2对数据库进行增.删.改.查和分页查询,请看以下的代码: User类 pu ...
- mac os使用lsusb命令和连接未知的Android设备
今天在mac上连接一个android设备发现连不上,adb devices看不到设备.于是想用lsusb命令看下,结果发现Mac居然没有这个命令,于是网上搜了下.发现了以下的命令system_prof ...
- Ubuntu 搭建NDK环境
一. NDK下载地址 https://developer.android.com/tools/sdk/ndk/index.html 二. NDK环境两种方式 NDK下载后,解压缩后放置于目录/home ...
- Ubuntu Wpa wifi connection
最近做一个项目,需要做一个WIFI连接模块,这几天都在折腾,终于,今天终于是连上网络了,只不过连网的过程有点慢,还有一些缺点,先写下来以备忘记. 1.环境建立: sudo apt-get instal ...
- Android(java)学习笔记262:JNI之工具快速开发步骤
下面通过一个案例说明一下,利用工具jni快速开发步骤 1.新建一个Android工程,命名为"03_对int数组加1",如下: 2. 在MainActivity.java中对add ...
- Linux下rar unrar的安装
Linux下rar unrar的安装: 以3.8.0版本为例,如果是64位平台,执行以下命令,也可以去官方网站:)下载最新版: wget http://www.rarlab.com/rar/rarli ...
- linux系统自动执行任务(转)
开机启动 开机启动应该是我们很经常的需求了,我们常需要在开机时就自动执行某些命令来开启服务,进程等,有了它我们不必再在每次开机时输入同一堆命令. chkconfig命令 使用chkconfig命令可以 ...
- C#。2.1 运算符
运算符: 一.算术运算符: + - * / % ——取余运算 取余运算的应用场景: 1.奇偶数的区分. 2.把数变化到某个范围之内.——彩票生成. 3.判断能否整除.——闰年.平年. int a = ...
- node.js 上传文件
在工作中碰到了这样的需求,需要用nodejs 来上传文件,之前也只是知道怎么通过浏览器来上传文件, 用nodejs的话, 相当于模拟浏览器的行为. google 了一番之后, 明白了浏览器无非就 ...
- (一)chrome扩展 - API小记
browserAction 设置browser action的badge文字,badge 显示在图标上面 chrome.browserAction.setBadgeText({text:"i ...