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 ...
随机推荐
- Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子) 由其做动态编程时非常有用,必须符合js中的语法,用eval能够执行. var aaa="alert('这是变量中的语句')&q ...
- 实现C++模板类头文件和实现文件分离的方法
如何实现C++模板类头文件和实现文件分离,这个问题和编译器有关. 引用<<C++primer(第四版)>>里的观点:1)标准C++为编译模板代码定义了两种模型:“包含”模型和“ ...
- Java基础知识强化48:Java中哈希码
1.概念: 哈希其实只是一个概念,没有什么真实的指向.它的目的是保证数据均匀的分布到一定的范围内.所以不同数据产生相同的哈希码是完全可以的. 现在是站在JAVA虚拟机的角度来看内存 ...
- Python 正则表达试
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...
- 邮件发送 EMailHelper
引用: using System; using System.Collections.Generic; using System.Linq; using System.Net; using Syste ...
- Lesson 1: What is design? Why is it important?
Week 2: What is design? Why is it important? Article 1: Startups, this is how design works. It's a s ...
- Oracle Enterprise Manager快速重建
我们在使用Oracle时, 可以利用Oracle自带的EM(Enterprise Manager)来更方便的管理我们的数据库.但是有时候我们的em却有时候无法连接,造成这个问题的原因有好多,例如没有正 ...
- 自己手动绿色化MyEclipse
绿化过程因每个人的文件存放路径不同而不同 首先打开你解压的MyEclipse文件,或者以前安装的MyEclipse重装系统后不能用,打开到这里:记住路径,比如我的是:D:\MyEclipse 我们打开 ...
- mybatis常用语句
<trim>标签中,prefix 前缀,suffix后缀, suffixOverrides语句最后如果有指定符号,则去除此符号, prefixOverrides语句最前面如果有指定符号,则 ...
- java学习笔记 (8) —— Struts2 实现上传
1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...