如何居中div

div的居中

水平居中

水平居中:

  • 给 div 设置一个宽度,然后添加 margin:0 auto 属性
div{
            width: 300px;
            margin: 0 auto;
        }
  • 把div设为inline-block,给父元素设置text-align:center,且父元素的宽度不设置
<style>
        .container {
            background: rgba(0, 0, 0, 0.5);
            text-align: center;
            font-size: 0;
            }

            .box {
            display: inline-block;
            width: 500px;
            height: 400px;
            background-color: pink;
            }
    </style>
</head>
<body>
    <div class="container">
        <div class="box"></div>
    </div>
  • 利用flex布局的justify-content:center;

水平垂直居中

  • 绝对定位的div居中
.container{
            position: absolute;
            width: 300px;
            height: 300px;
            margin: auto;
            top: 0%;
            left: 0%;
            bottom: 0%;
            right: 0%;
            background-color: rgb(146, 73, 73);
        }
  • top:50%,left:50%,margin减去宽高的一半
.container{
            position: absolute;
            width: 300px;
            height: 300px;
            margin: -150px 0 0 -150px;
            top: 50%;
            left: 50%;;
            background-color: rgb(146, 73, 73);
        }
  • 未知容器的宽高,利用transform属性
.container{
            position: absolute;
            width: 300px;
            height: 300px;
            /* translate:移动; */
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
            background-color: rgb(146, 73, 73);
        }
  • 利用flex布局
    注意父元素一定要设置宽高
.container{
			width:100%;
			height:600px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .bin{
            width: 300px;
            height: 300px;
            background-color: rgb(228, 127, 127);
        }
  • 利用text-align:center和vertical-align:middle属性
.container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  text-align: center;
  font-size: 0;
  white-space: nowrap;
  overflow: auto;
}

.container::after {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.box {
  display: inline-block;
  width: 500px;
  height: 400px;
  background-color: pink;
  white-space: normal;
  vertical-align: middle;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值