一、盒子垂直居中的方法

  1、先让盒子的上下边缘和父盒子的水平中心线重叠,,然后再让子盒子往回移动自身一半的距离

 <div class="father">                // 结构
<div class="son"></div>
</div>
/* 通过 transform 属性来移动*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 0 auto;
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-top: 50%; // 向下移动父盒子的一半
transform: translateY(-50%); // 向上移动自身盒子的一半
} /* 通过 定位来移动*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 0 auto;
position: relative;
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
position: absolute;
top: 50%; // 先向下移动父盒子的一半
margin-top: -100px; // 再向上移动自身盒子的一半 }

  2、使用表格的 vertical-align :middle 属性来实现盒子垂直居中

      .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
display: table-cell; // 显示形式为表格
vertical-align: middle; // 里面内容为居中对齐
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
}

  3、知道父盒子的高度,可以使用 margin 计算盒子的上下边距,来使盒子居中

      .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-top: 149px; // 根据父盒子的高度指定 margin-top 即可
}

二、盒子水平居中的方法

  1、使用 margin: 0 auto;

      .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin: 0 auto; // 让盒子左右自动适应,想当于 left:auto; right:auto
}

  2、通过计算 margin 左右边距来实现居中

      .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-left: 149px; // 父盒子的定宽的,指定 margin-left 即可
}

  3、先让盒子左右边缘和父盒子垂直的中心线垂直,然后把子盒子往回移动自身宽度的一半

 /* 通过 transform 实现*/
    .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-left: 50%; // 先移动父盒子的一半
transform: translateX(-50%); // 再移动自身盒子一半 }
    /*通过 定位实现*/
    .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto;
position: relative; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
position: absolute;
left: 50%; // 向右移动父盒子一半
margin-left: -100px; // 向左移动自身盒子一半
/* transform: translateX(-50%); */ //向左移动自身盒子一半
  }

  4、把盒子转成 行内块,然后用 text-align 属性使盒子水平居中

      .father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto;
text-align: center; // 让父盒子设置水平居中 }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
display: inline-block; // 让子盒子显示为行内块模式
}

CSS之盒子居中的方法的更多相关文章

  1. CSS设置图片居中的方法

    如果是应用了表格,那么设置单元格为align="center"就可以使其中的一切内容居中.如果没有应用表格要想设置图片居中就有点困难了.困难来自不按"常规出牌" ...

  2. 关于HTML+CSS设置图片居中的方法

    有的时候我们会遇到这样一个问题,就是当我们按下F12进行使用firebug调试的时候,我们发现图像没有居中,页面底下有横向的滑动条出现,图片没能够居中,默认状态下只是紧靠在页面最左侧,而我们对图像缩小 ...

  3. css中的居中的方法

    一.垂直居中 (1)inline或者inline-*元素 1. 单行文字 设置上下padding相等 以前一直以为inline元素是没有上下的padding和margin的,其实不然,他们是有上下的p ...

  4. CSS设置元素居中的方法

    1.margin:0 auto; 2.body{text-align:center;} 3.position:absolute; left:50%; margin-left:-(宽/2);

  5. 《Web开发中让盒子居中的几种方法》

    一.记录下几种盒子居中的方法: 1.0.margin固定宽高居中: 2.0.负margin居中: 3.0.绝对定位居中: 4.0.table-cell居中: 5.0.flex居中: 6.0.trans ...

  6. css盒子居中

    方法1(margin: 0 auto)<!DOCTYPE html> <html lang="en"> <head> <meta char ...

  7. css图片居中,通过纯css实现图片居中的多种实现方法

    在网页布局中,图文排版是我们常用的,那么经常会遇到如何让图片居中显示呢,这篇文章将总结常用css实现图片居中的方法总结: html结构: <div class="demo" ...

  8. css 浮动元素居中

    方法一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  9. cssy元素居中的方法有哪些?

    css的元素居中 各位小伙伴们在努力写网页的时候有没有遇到过这样的一个问题呢? 在写的时候发现他不居中,可是要分分钟逼死强迫症的啊! 别急,我来啦 哈哈哈 今天就带来三种css的元素居中的方法 第一种 ...

随机推荐

  1. NOIP 2015 推销员

    洛谷 P2672 推销员 洛谷传送门 JDOJ 2994: [NOIP2015]推销员 T4 JDOJ传送门 Description 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死 ...

  2. ajax post 提交无法进入controller 请求200

    最近写js遇到个问题: 用ajax的post方式给后台提交数据,页面200,但是不进入controller 断点,我以为我post参数不对. 网上查的: 1.说路径不对,但是我通过get方式是可以进入 ...

  3. 2-OpenResty 安装使用(Windows)

    下载 OpenResty 1.  https://gitee.com/yang456/LearnOpenResty.git 2.  http://openresty.org/cn/download.h ...

  4. CSS3中box-sizing属性的作用以及应用场景

    盒模型box-sizing: 取值 1.content-box 默认值,标准盒模型,设置宽度为内容宽度,实际宽度为左右边距加上左右边框加上左右填充再加上内容宽度 2.border-box 设置宽度等于 ...

  5. centos 升级openSSH7.81

    1.下载相关依赖包 [root@Log ~]# yum install -y gcc openssl-devel pam-devel rpm-build 2.下载安装包 wget http://ftp ...

  6. haproxy 配置文件详解 之 defaults

    配置示例: defaults mode http retries timeout connect 10s timeout client 20s timeout server 30s timeout c ...

  7. Solr的核心操作案例

    @Service public class SearchServiceImpl implements SearchService { @Autowired private SolrTemplate s ...

  8. 第01组 Alpha冲刺(4/6)

    队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/11884375.html 作业博客: https://edu.cnblogs.com/campus/fz ...

  9. Java编程思想之十八 枚举类型

    关键字enum可以将一组具名的值的有限集合创建为一种新的类型, 而这些具名的值可以作为常规的程序组件使用.这是一种非常有用的功能. 18.1 基本enum特性 创建enum时,编译器会为你生成一个相关 ...

  10. 将物理机转换成vmware虚机

    随着虚拟化的快速发展,公司主要是以公有云+私有云结合的混合云部署,据我不成熟的了解,目前很少有公司会将一台单独的物理机作为服务器,在公司内部大家逐渐接受了私有云的部署方案,这样做不但可以节省硬件资源, ...