方法一:使用绝对定位

大家都知道margin:0 auto;能够实现水平居中,但却不知道margin:0 auto;也是可以实现垂直居中的;

给居中元素添加如下样式:

.Absolute-Center {
border:2px solid red;
height: 200px;
margin: auto;
position: absolute;
top:; left:; bottom:; right:;
}

缺点:内容容易溢出,建议使用overflow:auto;

方法二:负margin方法

给居中的div设置样式:

<style>
* {
margin: 0;
padding: 0;
} .Absolute-Center {
width: 400px;
height: 200px;
background-color: pink;
position: absolute;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -200px;
}
</style>
<body>
<div class="Absolute-Center">
</div>
</body>

方法三:css3的 transform 来实现

<style>
* {
margin: 0;
padding: 0;
}
.mydiv {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 300px;
height: 200px;
}
</style>
<body>
<div class="mydiv" style="border: 2px solid red;"></div>
</body>

http://blog.csdn.net/freshlover/article/details/11579669

重新整理部分如下:

CSS实现垂直水平居中的方法(至少写2种)

(1)      文本的水平垂直居中

使用:line-height  +  text-align: center

<div class=”wrap”>

文本的垂直水平居中

</div>

html,body{

margin: 0;

}

.wrap{

line-height: 400px;

text-align: center;

height: 400px;

font-size:36px;

}

(2)      使用margin: auto 方法实现div水平垂直居中

<div class=”wrap”>

<div class=”content”></div>

</div>

.wrap{

Position: relative;

width: 200px;

height: 300px;

border: 1px solid red;

}

.content{

Position: absolute;

width: 50%;

height: 50%;

top: 0;

left: 0;

right: 0;

bottom: 0;

margin: auto;

border: 1px solid red;

}

(3)      负margin方法

<div class=”wrap”>

<div class=”content”></div>

</div>

.wrap{

Position: relative;

width: 200px;

height: 300px;

border: 1px solid red;

}

.content{

Position: absolute;

width: 180px;

height: 260px;

top: 50%;

left: 50%;

margin-top: -130px;

margin-left: -90px;

border: 1px solid red;

}

(4)      让图片水平垂直居中,使用table-cell方法

<div class=”wrap”>

<img src=”tupian.png”/>

</div>

.wrap{

width: 200px;

height: 300px;

border: 1px solid red;

display:table-cell;

vertical-align: middle;

text-align:center;

}

img{

vertical-align:middle;

border: 1px solid red;

}

(5)      弹性盒子方法

<div class=”wrap”>

<div class=”content”></div>

</div>

.wrap{

width: 300px;

height: 200px;

border: 1px solid red;

display: -webkit-flex;

display: flex;

-webkit-align-items: center;

align-items: center;

-webkit-justify-content: center;

justify-content: center;

}

.content{

padding: 20px;

border: 1px solid red;

}

(6)      使用CSS3的transform:translate(-50%,-50%); 或者

transform:translate3d(-50%,-50%,0);

 

<div class=”wrap”>

<div class=”content”></div>

</div>

.wrap{

width: 300px;

height: 200px;

border: 1px solid red;

position: relative;

}

.content{

Position: absolute;

width: 160px;

height: 100px;

left: 50%;

right: 50%;

transform: translate(-50%,-50%);或者用3d旋转的也可以

}

css实现垂直水平居中的方法(个数不限)?的更多相关文章

  1. css实现垂直水平居中的方法

    html结构: <div class="box"> <div>垂直居中</div> </div> 方法1:display:flex ...

  2. css实现垂直水平居中的5种方法

    css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...

  3. css图片垂直水平居中及放大(实现水平垂直居中的效果有哪些方法?)

    实现水平垂直居中方法有很多种: 一.万能法: 1.已知高度宽度元素的水平垂直居中,利用绝对定位和负边距实现. <style type="text/css"> .wrap ...

  4. CSS之垂直水平居中的背后

    最开始,我想说,这个体系有点大,我写的并不好.就当作是一个思路吧,虽然这个思路有点乱.几乎每一个实现方案的背后都是该属性及其组合的原理,每一个都要剖析其规范细节的话,这篇文章绝不会是这样的篇幅,所以每 ...

  5. css文本垂直水平居中

    一.单行文本居中 .content{ height:100px; line-height:100px; text-align:center; border:1px solid red; } 效果图 二 ...

  6. Css实现垂直水平居中的六种方法

    经常在项目中用到,今天总结了一下: 演示地址:http://codepen.io/anon/pen/xGdpOa 以下两个类为公共类,便于更好的显示效果,非核心代码 .common{ width: 6 ...

  7. css中设置div垂直水平居中的方法

    设置要水平垂直居中的div的position为absolute,left:50%;margin-left为负的这个元素宽度的一半,同理,top:50%;margin-top为负的这个元素的高度的一半. ...

  8. CSS之垂直水平居中方法

    //居中方法1 position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 346px; height ...

  9. CSS实现垂直水平居中

    HTML结构: <div class="wrapper"> <div class="content"></div> < ...

随机推荐

  1. JDK1.8 HashMap--treeifyBin()方法

    /*树形化*/ final void treeifyBin(Node<K,V>[] tab, int hash) { int n, index; Node<K,V> e;// ...

  2. 2017 6 2php用PDO链接数据库前测试

    try { $dsn = "mysql:dbname=test;host=127.0.0.1";//链接mysql的DSN(数据库驱动) $user = 'root';//Mysq ...

  3. mysql 事物没提交导致事物一直运行解决方案

    1.设置 innodb_kill_idle_transaction 参数, 可以永久避免 https://dbaplus.cn/news-11-974-1.html

  4. Oarcle之序列

    序列:是一种数据库对象,用来自动产生一组唯一的序号: 序列:是一种共享式的对象,多个用户可以共同使用序列中的序号. 创建序列 create sequence seq_emp_temp incremen ...

  5. vue-cli —— 局部修改Element样式

    最近在做vue项目时用到了Element,发现这玩意儿用起来很舒服,很新颖,上手也很快,而且效果足够酷炫.但是后面发现一个很大的问题,那就是Element的样式有限,这极大地限制了项目的应用广度,所以 ...

  6. docker命令

    ## List Docker CLI commandsdockerdocker container --help ## Display Docker version and infodocker -- ...

  7. keras用法

    关于Keras的“层”(Layer) 所有的Keras层对象都有如下方法: layer.get_weights():返回层的权重(numpy array) layer.set_weights(weig ...

  8. 火狐开发----从头用到尾的cfx

    此教程阐述了如何使用 SDK 开发一个简单的扩展. 准备 要想使用 SDK 开发 Firefox 的扩展,您首先需要 安装并激活 SDK.一旦您完成了以上步骤,您将会看到一个命令行窗口. 初始化一个空 ...

  9. leetcode 66.加一 python3

    class Solution: def plusOne(self, digits): """ :type digits: List[int] :rtype: List[i ...

  10. [转]SQL中 OVER(PARTITION BY) 取上一条,下一条等

    OVER(PARTITION BY)函数介绍 开窗函数               Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返 ...