ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何将一个div盒子水平垂直都居中?

2019-12-16 16:52:24  阅读:191  来源: 互联网

标签:居中 盒子 parent 50% child position div margin 200px


总结一下:
1、父高未知,子高未知
(1)margin:auto;

// 定位会失高
.parent{

position:relative;

}

.child{

position:absolute;

margin:auto;

top:0;

left:0;

right:0;

bottom:0;
}
// 或者 这种不失高
.parent{
display:flex;
}

.child{
margin:auto;
}

(2)利用display:table-cell

.parent{

display:table-cell;

vertical-align:middle;

text-align:center;

}

.child{

display:inline-block;

}

(3)利用display:flex;设置垂直水平都居中;

.parent{

display:flex;

justify-content:center;

align-items:center;

}

(4)利用transform

.parent{

position:relative;

}

.child{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

}

2、父高未知,子高已知(条件1的所有都可用)
1、定位

.parent{

position:relative;

}

.child{

position:absolute;

top:50%;

left:50%;

margin-top:-50px;

margin-left:-50px;

}

3、父高已知,子高已知(条件1和2的所有都可用)
(1)计算父盒子与子盒子的空间距离(这跟方法一是一个道理);

//计算方法:父盒子高度或者宽度的一半减去子盒子高度或者宽的的一半(200px)。
.child{
margin-top:200px;
margin-left:200px;
}

(2)利用calc计算

.parent{

position:relative;

}

.child{

position:absolute;

top:calc(200px);//(父元素高-子元素高)÷ 2=200px

let:calc(200px);//(父元素宽-子元素宽)÷ 2=200px

}

暂时记录这么多,下次继续更新
注:方法是死的,人是活的;对于不同问题有不同的解决方式

标签:居中,盒子,parent,50%,child,position,div,margin,200px
来源: https://www.cnblogs.com/ljyyjj/p/12049908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有