码迷,mamicode.com
首页 > 其他好文 > 详细

水平垂直居中

时间:2018-09-26 14:22:39      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:follow   效果   get   指定   attribute   relative   ofo   play   垂直居中   

第一种:

#container{
position:relative;
}

#center{
width:100px;
height:100px;
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}

这种方法能起到居中效果的原因:(参考:https://segmentfault.com/q/1010000005151903

第一步:

技术分享图片

第二步:

技术分享图片

所以本质上理解

1.绝对定位元素的定位基准点是其有定位元素的祖先元素,而translate要做偏移,是相对于自身的中心点而言,如果用百分比做单位,参考值就是本身元素的宽度。

第二种:

#container{
position:relative;
}

#center{
width:100px;
height:100px;
position:absolute;
top:50%;
left:50%;
margin:-50px 0 0 -50px;
}

第三种:

#container{
position:relative;
}

#center{
position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}

这种方法起到居中效果的原因:

1.left: 0;right: 0;top: 0;bottom: 0;把元素充满了容器,同时自身指定了宽度,总宽度(固定) = width(固定) + margin-left + margin-right;
margin: auto;当margin设置为auto的时候,左右边距会平分,元素自然就居中了,垂直居中原理一致。
2.或者参考小胡子哥的博客
绝对定位的布局取决于三个因素,一个是元素的位置,一个是元素的尺寸,一个是元素的margin值。
而没有设置尺寸和 margin 的元素会自适应剩余空间,位置固定则分配尺寸,尺寸固定边会分配 margin,都是自适应的。
第四种:

#container{
display:flex;
justify-content:center;
align-items: center;
}

 
 

水平垂直居中

标签:follow   效果   get   指定   attribute   relative   ofo   play   垂直居中   

原文地址:https://www.cnblogs.com/zrcassiel/p/9706533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!