HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了inline-block横向排列元素间隔原因及去除间隔方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1.问题出现的场景:

inline-block横向排列元素间隔原因及去除间隔方法


需要实现上面的布局,三张图横向排列,左图靠左,右图靠右,中间图居于中间,且图与图之间有固定间隔,起初通过如下方式实现(为了说明方便,直接通过内联样式表现):

<div style="width:100%;overflow:auto;">

<div style="width:32%;float:left"><img style="width:100%" src=" "/></div>

<div style="width:32%;@H_790_20@margin-left:34%"><img style="width:100%" src=""/></div>  

<div style="width:32%;float:right"><img style="width:100%" src=" "/></div>   

</div>

该实现方式,通过float来控制左右两侧图靠两边停放,中间图通过计算三张图总宽96%,剩余4%,这4%需要分为两部分来实现与左右两边图之间的间距,因此,对中间图通过margin-left:34%来控制其与左右两边图的间距为2%

2.不想通过float来实现,想通过控制每个img的容器div宽度为33.33333%来平分宽度,同时控制该容器具有padding值来达到中间图和两边图的间距,即:

<div style="width:100%">

<div style="width:33.33333%;display:inline-block;"><img style="width:100%" src=" "/></div>

<div style="width:33.33333%;display:inline-block;"><img style="width:100%" src=" "/></div>

<div style="width:33.33333%;display:inline-block;"><img style="width:100%" src=" "/></div>

</div>

这样实现后,发现三个img的容器div没有设置任何margin和padding,可是图片不能放在一行显示,第三个图被挤到第二行,且图和图之间是有间隔的,经过上网查找原因及解决方法,发现真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,最终使用了给最外部父容器设置font-size:0的方法去除inline-block排列之间的间隔,同时空过属性padding和border-Box来实现间距,最终实现方式为如下:

<div style="width:100%;font-size:0;">

<div style="width:33.33333%;display:inline-block;padding:2px;Box-sizing:border-Box"><img style="width:100%" src=" "/></div>

<div style="width:33.33333%;display:inline-block;padding:2px;Box-sizing:border-Box"><img style="width:100%" src=" "/></div>

<div style="width:33.33333%;display:inline-block;padding:2px;Box-sizing:border-Box"><img style="width:100%" src=" "/></div>

</div>

@H_450_101@

大佬总结

以上是大佬教程为你收集整理的inline-block横向排列元素间隔原因及去除间隔方法全部内容,希望文章能够帮你解决inline-block横向排列元素间隔原因及去除间隔方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。