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. mysqlbinlog作用

    mysqlbinlog:解析mysql的binlog日志 在 mysql-bin.index里面记录了所有的binlog文件,它是一个索引 binlog日志的作用:用来记录mysql内部增删改查等对m ...

  2. Log4Net各参数API

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  3. Android位置权限以及数组寻找索引的坑

    填坑与求解惑来的. 一.Android 危险权限,来自官方文档的坑??? Android开发者都知道,Android 6.0 之前,权限申请只需要在 AndroidManifest.xml 文件中声明 ...

  4. CentOS中nginx负载均衡和反向代理的搭建

    1: 修改centos命令行启动(减少内存占用): vim /etc/inittab :initdefault: --> 修改5为3 若要界面启动使用 startx 2:安装jdk )解压:jd ...

  5. MySQL SQL Injection(注入)

    如果通过网页接收用户输入,而后再把这些数据插入到数据库中,那么你可能就会碰到 SQL 注入式攻击.本节简要介绍如何防范这种攻击,确保脚本和 MySQL 语句的安全性. 注入式攻击往往发生在要求用户输入 ...

  6. 【Head First Servlets and JSP】笔记20:EL以及<jsp:useBean ....>的补充

    1.EL的英文是Expression Language,译成中文就是“表达式语言”.这是一种给前端程序员使用的脚本语言,EL与Java表达式相比并没有什么“天壤之别”,在后端程序员看来多少有点“多此一 ...

  7. 出入Spring boot(六)数据访问

    Spring Data提供了使用统一的API进行数据访问操作,这是Spring通过提供Spring DataCommons项目来实现的,它是Spring data的依赖Spring Data Comm ...

  8. NQueens, NQueens2 N皇后问题,递归回溯

    N皇后的规则:任意两个皇后不在同一行,不在同一列,不在同一斜线上. 算法分析:这种问题就用回溯法.深度搜索然后回溯.用一个数组记录每一行皇后的位置,下标代表行,值代表列.对行深度搜索. public ...

  9. Linux grep 命令大全

    grep: 用于模糊查找,在标准输入或者文件中 格式: grep [选项参数]...  PATTERN |FILE ... 选项参数说明: -E, --extended-regexp PATTERN ...

  10. 【LABVIEW到C#】4》String的操作之Search and Replace.vi

    C#封装如下: public class SearchAndRepalce : Darrenstring { public bool replaced; private string stringou ...