如何解决一行放多个item后,item中间间隔相等且两边无空隙的问题

本文介绍了如何解决CSS布局中一行多个item间间隔相等且两端无空隙的问题。常见方法包括为最后一项添加特殊类以移除margin,使用伪类选择器(但可能有兼容性问题),以及利用负margin来调整总体宽度。最佳实践是通过设置负margin来实现所需效果。
摘要由CSDN通过智能技术生成

问题:
在我们进行布局时, 我们经常会遇到要求中间摆放多个item,且两边不需要空隙的情况,我们通常会使用float浮动布局,然后设置margin-right/margin-left让他们之间产生间距, 那么这样会导致最后总有一个元素设置的margin-right/margin-left是多余的
解决方法:
解决办法一: 每一行的最后一个元素, 总是加一个class, 通过类选择器去除这个margin-right
解决办法二: 通过伪类选择器,但是不支持IE8,或者会导致存在兼容性问题
解决办法三(最优解):
width of block (包裹块)= content-width(auto) + margin-left + margin-right + padding+border,因为一般 padding和border都是0,即通常这个公式可以简化为:
width of block (包裹块)= content-width(auto) + margin-left + margin-right
所以当包裹块的宽度固定的时候,不设置 content-width的宽度,再设置margin的宽度为负值可以加大包裹块的宽度.
代码和具体实现如下所示:

<style>
        .container{
            width: 990px;
            height: 400px;
            background-color:pin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值