块级元素居中问题

第一次尝试写点东西,不喜勿喷。

一、块级元素水平居中,直接左右margin值设为自动就ok。

div{

  margin: 0 auto;

}

二、让块级元素水平垂直居中于父级元素

1、已知宽高的情况下,万能的position定位法,子元素设置top:50% left:50%,margin-left  margin—top值设置为改块元素宽高的一半,

这样可以达到水平和垂直居中。注:父级元素position必须设置为relative,不然达不到效果(我们一般认为只需要给子元素设置position:absolute就ok了,这里能实现相对于父级定位,定位为出现偏移,这个由于定位值采取的是%制造成的,原因不明)。

<---html--->

<div class="test">
<div class="test1">
</div>
</div>

<---css--->

.test{
position: relative;
height: 500px;
width: 500px;
background: deepskyblue;
}
.test1{
position: absolute;
top: 50%;
left: 50%;
height: 100px;
width: 100px;
background: darkmagenta;
margin-top: -50px;
margin-left: -50px;
}

2、未知块宽高的情况下,这里可以模拟table标签属性,达到让块级元素水平垂直居中。(需要在居中的块级元素外套一层,这样可以实现水平垂直集中,无论居中块元素的宽高为多少,都可以实现居中)

<---html--->

<div class="test">
<div class="test1">
<div class="test2">
</div>
</div>
</div>

<---css--->

.test{
height: 500px;
width: 500px;
background: deepskyblue;
display: table;
}
.test1{
display: table-cell;
vertical-align: middle;
}
.test2{
margin: 0 auto;
height: 300px;
width: 300px;
background: darkmagenta;
}

3、已知块宽高的情况下,也可以用position定位法实现,top left right bottom 设置为0。

<---html--->

<div class="test">
<div class="test1">

</div>
</div>

<---css--->

.test{
position: relative;
height: 500px;
width: 500px;
background: deepskyblue;
}
.test1{
position: absolute;
margin: auto;
height: 300px;
width: 300px;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: darkmagenta;
}
最新  自需要在父级盒子上加
 /*只需要在父元素上加这三句*/
justify-content: center; /*子元素水平居中*/
align-items: center; /*子元素垂直居中*/
display: -webkit-flex;

 

 

转载于:https://www.cnblogs.com/DivHao/p/6382456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值