黑马程序员技术交流社区
标题:
【上海校区】css 块级元素、行内元素的水平、垂直居中方...
[打印本页]
作者:
梦缠绕的时候
时间:
2018-10-18 09:17
标题:
【上海校区】css 块级元素、行内元素的水平、垂直居中方...
行内元素
div {
/*div内的行内元素水平居中*/
text-align: center;
/*div内的行内元素垂直居中(即line-height设置为与height相同)*/
height: 50px;
line-height: 50px;
}
块级元素
1. 水平居中
/*方案1*/
div {
width: 100px;
margin: 0 auto;
}
/*方案2(负边距):
当元素左侧没有兄弟元素时可用,
缺点是需要事先知道width
*/
div {
width: 100px;
position: relative;
margin-left: -50px;
left: 50%;
}
/*方案3(负边距):
当元素左侧没有兄弟元素时可用,
优点是不需要事先知道width,
缺点是兼容性不好,IE9(-ms-)+才支持
*/
div {
width: 100px;
position: relative;
transform: translateX(-50%);
left: 50%;
}
/*方案4(负边距):
流行,
缺点是需要事先知道width
*/
div {
width: 100px;
position: absolute;
margin-left: -50px;
left: 50%;
}
/*方案5(负边距):
优点是不需要事先知道width,
缺点是兼容性不好,IE9(-ms-)+才支持
*/
div {
width: 100px;
position: absolute;
transform: translateX(-50%);
left: 50%;
}
/*方案6*/
div {
width: 100px;
position: absolute;
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
}
/*方案7:
弹性盒子内部块级元素水平居中,
优点是不需要知道width,
缺点是兼容性不好,IE10(-ms-)+才支持
*/
div {
display: flex;
flex-direction: row;
justify-content: center;
}
2. 垂直居中(直接根据父级高度设置margin未算入)
/*方案1(负边距):
当元素上侧没有兄弟元素时可用
*/
div {
width: 100px;
position: relative;
top: 50%;
margin-top: -50px;
}
/*方案2(负边距):
当元素上侧没有兄弟元素时可用
*/
div {
width: 100px;
position: relative;
top: 50%;
transform: translateY(-50%);
}
/*方案3(负边距)*/
div {
width: 100px;
position: absolute;
top: 50%;
margin-top: -50px;
}
/*方案4(负边距)*/
div {
width: 100px;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
/*方案5*/
div {
width: 100px;
position: absolute;
top: 0;
bottom: 0;
margin-top: auto;
margin-bottom: auto;
}
/*方案6:
弹性盒子内部块级元素垂直居中,
优点是不需要知道width,
缺点是兼容性不好,IE10(-ms-)+才支持
*/
div {
display: flex;
flex-direction: column;
align-items: center;
}
---------------------
作者:Kirito丷
来源:CSDN
原文:
https://blog.csdn.net/qq_33576343/article/details/81784645
版权声明:本文为博主原创文章,转载请附上博文链接!
作者:
不二晨
时间:
2018-10-18 16:16
奈斯
作者:
魔都黑马少年梦
时间:
2018-11-1 17:03
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2