方法一:使用绝对定位

大家都知道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. Vue系列之 => html-webpack-plugin的两个基本作用

    安装 npm i html-webpack-plugin -D webpack.config.js const path = require('path'); //启用热更新的第二步,导入webpac ...

  2. Delphi使用两种不同方法获取系统端口信息--(装载)

    Delphi使用两种方法获取windows系统的端口,还可测试发送消息,点击获取端口信息后,可依次得到如下信息:DCB结构大小.波特率大小.XON的临界值.XOFF的临界值.字符位数.奇偶检验位.停止 ...

  3. Gem install Mysql2的问题

    运行 ‘bundle install’ 或者 ‘gem install mysql2′ 遇到如下错误 > gem install mysql2 ERROR: Error installing m ...

  4. random模块、time模块、sys模块、os模块

    一.random模块 1.随机取小数     (数学计算) print(random.random()) #取0-1之间的小数 print(random.uniform(3,6)) #uniform( ...

  5. linux windows 格式化一块大于2 TiB硬盘

    转自:https://help.aliyun.com/document_detail/34377.html?spm=a2c4g.11186623.2.10.17447386JrLBNR#concept ...

  6. python list用法

    a = ['张三','李四','赵六','王五'] #打印列表 print(a) #增 a.apppend('徐七') print(a) a.insert(1,'张六') print(a) #删 a. ...

  7. js实现简易版validate

    需求分析 项目中需要根据选择不同的类型,显示不同的表单,采用的方法是css隐藏显示不需要的表单,但是这个表单字段都是必填的,尝试把不同的表单放在不同的form里,提交时根据不同的类型调用miniui自 ...

  8. STA 141A, Homework

    STA 141A, Homework 2Due April 30th 2019 (by 8 am) Name:Student ID:Section:Names of your study mates: ...

  9. python面对对象

    面对过程VS面对对象 面向过程的程序设计的核心是过程,过程就是解决问题的步骤,面向过程的设计就是考虑周全什么时候处理什么东西 优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. ...

  10. JSP页面静态包含和动态包含的区别与联系

    ---恢复内容开始--- JSP页面静态包含和动态包含的区别与联系: 1.<%@ include file=" " %> 是指令元素,<jsp:include p ...