zoukankan      html  css  js  c++  java
  • 如何在一个div中使其子div居中

    网上其他地方已讲述过对其的不同实现方式,今天主要做一个详细的汇总,希望对大家有帮助。
    ps:我面试的时候就被问到过这个问题,当时都回答错了,蓝瘦。
    

    假设父div的类名为father,子div的类名为son。在html中的形式如下:
    <div class="father">
    <div class="son">
    </div>
    接下来用css设置son居中的方法主要有4种。

    1. 方法一(使用绝对布局):
      .father{
      500px;
      height:500px;
      position:relative;
      background-color:red;
      }
      .son{
      200px;
      height:200px;
      position:absolute;
      top:50%;
      left:50%;
      margin-top:-100px;
      margin-left:-100px;
      background-color:black;
      }
      效果图如下:
      上面son类的margin-top是取自身高一半值的负数,margin-left同理

    2. 方法二(使用table-cell形式)
      .father{
      500px;
      height:500px;
      display:table-cell;
      text-align:center;
      vertical-align:middle;
      background-color:red;
      }
      .son{
      200px;
      height:200px;
      display:inline-block; ps:这句话一定要加,不然没效果哦
      background-color:black;
      }
      效果如上
      3.方法三(使用弹性布局flex)
      .father{
      500px;
      height:500px;
      display:flex;
      justify-content:center; 内容水平居中
      align-items:center; 内容垂直居中
      background-color:red;
      }
      .son{
      200px;
      height:200px;
      background-color:black;
      }
      效果如上
      4.方法四(使用绝对布局)
      .father{
      500px;
      height:500px;
      display:relative;
      background-color:red;
      }
      .son{
      200px;
      height:200px;
      position:absolute;
      top:0;
      right:0;
      bottom:0;
      left:0;
      margin:auto;
      background-color:black;
      }
      效果如上

    这是目前我所了解的4种方法,ie和chrome都兼容,其他浏览器没测,目测是都兼容的。欢迎大家查漏补缺!

  • 相关阅读:
    cat > file << EOF 的用法
    jemter参数化是如何取值的?(数据分配)
    使用elasticdump迁移es数据
    阿里云SLB的http强制转https
    Centos7主机安装Cockpit管理其他主机
    CentOS 7配置Chrony服务进行时间同步
    Nginx负载均衡设置max_fails和fail_timeout
    openresty(nginx) 配置 stream 转发
    rabbitmq的内存节点和磁盘节点
    nginx实现vue的web页面项目集群负载
  • 原文地址:https://www.cnblogs.com/jpfss/p/9596833.html
Copyright © 2011-2022 走看看