前言
CSS盒子居中,我觉得是很有必要学习一下的。特别是第三种方法,奇淫技巧升级版,也是生产环境中非常常见的一种方法,不需要知道宽度,随着祖先元素的变化而变化!
1.常规方法
常规方法只需要给盒子设置宽高,利用外边距让它居中!
<div class="box1">常规方法</div>
.box1{
width: 200px;
height: 200px;
margin: 0 auto;
background-color: pink;
}
2.奇淫技巧
奇淫技巧利用定位元素。将祖先元素设为相对定位,子级元素设为绝对定位。left设置为50%;margin-left设置为-宽度的一半。但是必须得设置宽度,并且得知道宽度值为多少!
<div class="bigbox2">
<div class="box2">奇淫技巧</div>
</div>
.bigbox2{
position: relative
}
.bigbox2 .box2{
width: 200px;
height: 200px;
background-color: skyblue;
position: absolute;
left: 50%;
margin-left: -100px;
}
3.奇淫技巧升级版
奇淫技巧利用定位元素和CSS transform属性。将祖先元素设为相对定位,子级元素设为绝对定位。left设置为50%;transform设置为translate(-50%);优点:不需要知道宽度值为多少!
<div class="bigbox3">
<div class="box3">奇淫技巧升级版</div>
</div>
.bigbox3{
position: relative;
}
.bigbox3 .box3{
width: 200px;
height: 200px;
background-color: lightseagreen;
position: absolute;
left: 50%;
transform: translate(-50%);
}
在线代码
GitHub:css-box-model-center
GitHub演示页面:https://chengzhihui99.github.io/css-box-model-center/
就喜欢“奇淫技巧升级版”,哈哈
还有flex布局也可以,现在h5用的比较多
那肯定的,不过我现在用还是混合使用,flex掌握的不熟练,好多时候解决不了问题……
会css的人最帅了。
感谢分享
怎么简单怎么来
嘿嘿,怎么方便怎么来,不过第三种方式应用场景确实还是比较多的!
鸟叔有故事
来,喝酒~!
学习了!! 大佬要不要做个友链呢?