5、利用弹性布局 与 margin:

<style>
.container{
height: 600px;
width: 600px;
border:1px solid black;
display: flex;
}
.box{
width: 200px;
height: 100px;
background-color: blue;
margin: auto;
}
</style>
<div class="container">
<div class="box"></div>
</div>

1,子div先充满父元素,在margin:auto,

2,先相对于父元素margin平移,再回拉法,

3,利用表单单元格td特有属性,vertical-align,使子div垂直居中,

  再对子div设置水平居中.

4、弹性布局,通过定义伸缩容器的两个属性,justify-content主轴方向,align-items纵轴方向均为center

——————(补充)

个人比较喜欢第一种和第四种方法,既简单,又不用计算

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.d-1{
width: 300px;
height: 300px;
position: relative;
margin: 0 auto;
border: 1px solid black;
}
.d-2{
width: 200px;
height: 200px;
border: 1px solid red;
position: absolute;
left:0;top: 0;right: 0;bottom: 0;
margin: auto; }
.d-3{
width: 100px;
height: 100px;
border: 1px solid blue;
position: absolute;
left:50%;top: 50%;
margin-top: -50px;
margin-left: -50px;
}
.d-4{
width: 100px;
height: 100px;
border: 1px solid blue; /*让标签元素以表格单元格形式呈现,类似于td标签,主要是利用它的特殊属性:
元素垂直居中对齐,但其会被float、position:absolute、
所以尽量不要与其同用,设置了display:table-cell的元素对宽度高度敏感,
对margin值无反应,所以页面上出现在了左边,我就不想再在外面加调了哈,
但会响应padding属性,基本和td标签无异*/
display: table-cell;
vertical-align:middle;
}
.d-5{
width: 50px;
height: 50px;
background: blue;
margin:0 auto;
} </style>
</head>
<body>
<div class="d-1">
<div class="d-2">
<div class="d-3"> </div>
</div>
</div> <div class="d-4">
<div class="d-5"></div>
</div>
</body> </html>

运行结果:

4、弹性布局,通过定义伸缩容器的两个属性,justify-content主轴方向,align-items纵轴方向均为center

<style>
.container{
height: 600px;
width: 600px;
border:1px solid black;
display: flex;
justify-content: center;
align-items: center;
}
.box{
width: 200px;
height: 100px;
background-color: blue;
} </style> <div class="container">
<div class="box"></div>
</div>

运行结果:

div垂直水平居中的四种方法总结的更多相关文章

  1. CSS3实现DIV垂直居中+水平居中的四种方法

    <div class="div1"> <div class="div2"></div> </div> html结 ...

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

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

  3. 实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 让一个图片在div中居中(四种方法)

    第一种方法: <div class="title"> <div class="flag"></div> <div cl ...

  5. 让一个小div在另一个大div里面 垂直居中的四种方法

    方法一 .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width: ...

  6. div 清除浮动的四种方法

    概述:为了解决父级元素因为子级内部高度为0的问题 (很多情况 不方便给父级元素高,因为不知道有多少内容,让里面的盒子自动撑起高度),清除浮动本质叫闭合浮动更好一些,清除浮动就是把浮动的盒子关到里面,让 ...

  7. div盒子水平居垂直中的几种方法

      div盒子水平居垂直中的几种方法<!DOCTYPE html><html>    <head>        <mete charset="ut ...

  8. css+div制作圆角矩形的四种方法

    圆角矩形一向是设计师最倾心的一种设计,因为他们可以让整个网页生动起来,不那么死板,所以,作为一个优秀的网页设计师,学会一种或多种编辑圆角矩形的方法是必不可少的,而且圆角矩形应用范围极广,一个网页内的所 ...

  9. react添加样式的四种方法

    React给添加元素增加样式 第一种方法: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

随机推荐

  1. Python(面向对象编程—1)

    class tst: l=[] x=1 a=tst() b=tst() a.l.append('a') b.l.append('b') a.x='a' b.x='b' print(a.l,a.x) # ...

  2. python入门三:文件操作

    一.文件操作 1.文件对象:和c一样,要想对一个文件进行操作,需要获取该文件的对象 f = open("xxx") # 打开文件并获取文件对象 f.xxx # 对文件进行某些操作 ...

  3. Action Results in Web API 2

    https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/action- ...

  4. Luogu-3648 [APIO2014]序列分割

    Luogu-3648 [APIO2014]序列分割 题目链接 题解: 首先要发现一个重要的性质:分割的顺序是不会影响答案的 证明: 首先对于没有交的两段区间,显然先后顺序改变不会有影响 而对于在同一段 ...

  5. spring整合redis配置

    第一步:添加需要的jar包 <!-- redis --> <dependency> <groupId>redis.clients</groupId> & ...

  6. VLAN虚拟局域网技术(一)-计算机网络

    本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经许可,禁止转载.如需转载,请联系作者并注明出处. 1.  VLAN(Virtual LAN):我们称之为虚拟局域网,它的作用就是将物理上互 ...

  7. C语言之非常简单的几道题

    C语言之非常简单的几道题(还是写写),比较简单吧,主要有几道题的数据类型(如,第三题)和语句顺序(如,第二题)需要注意一小下下. 1. 求表达式S=1*2*3……*N的值大于150时,最小的N的值 / ...

  8. 数字组合问题:Combination,CombinationSum,CombinationSum2,CombinationSum3

    Combination问题描述:给定n和k,找出1-n之间所有k个数的组合,例如:n=3,k=2,返回 [[1,2]  [1,3]  [2,3]] 算法分析:利用递归.递归边界就是curr.size( ...

  9. scala学习手记34 - trait方法的延迟绑定

    trait的方法的延迟绑定就是先混入的trait的方法会后调用.这一点从上一节的实例中也可以看出来. 下面再来看一个类似的例子: abstract class Writer { def write(m ...

  10. windows8.1下安装Cygwin并通过apt-cyg安装软件包

    参考 http://yuanshuilee.blog.163.com/blog/static/2176972752014126786185/ http://www.cnblogs.com/zhang- ...