css布局之两端布局(利⽤⽗级负的margin)
最近在进⾏开发的过程中,有遇到两端对齐的布局,是按照百分⽐来进⾏布局的,之前有⽤过flex布局,但是flex布局,使⽤两端布局的时候,会出现⼀切bug。⽐如,下⾯的是动态⽣成的时候,三列或者多列就会把下⾯的列表分布在两边。
虽然可以解决,但是还是想看⼀下⽤普通的css是如何布局的。因为就写了这个。
在⽹上了⼀些教程,都是写死的宽度来进⾏操作的。我把它改造成了百分⽐的格式,简单来记录⼀下。
先上css
<style>
*{
padding: 0px;
margin: 0px;
box-sizing: border-box;
}
.max-box{
max-width: 1200px;
margin: 0px auto;
}
.box{
overflow: hidden;
width:calc(100% + 20px);
margin-left: -10px;
}
.
inner{
height: 100px;
border: solid 1px red;
float: left;
margin-left: 10px;
width:calc(((100% - 20px) - 10px * 3) / 4);
}
.max-box2{
max-width: 1200px;
margin: 50px auto;
border: solid 1px red;
height: 200px;
}
</style>
再上html
<div class="max-box2">
</div>
flex布局对齐方式
<div class="max-box">
<div class="box">
<div class="inner">
</div>
<div class="inner">
</div>
<div class="inner">
</div>
<div class="inner">
</div>
</div>
</div>
把这些套⼊到html就可以看到效果了。
如下图
最后总结⼀下那个公式
x = 10px;即:想要的间距
y = 4    即:想要排列的个数
⽗级:  width: calc(100% + (x * 2));
⼦级:  width: calc(((100%-(x *2)) - x * ( y - 1)) / y );

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。