当前位置: 首页 > Web前端 > HTML

内联或内联块元素之间的间隙

时间:2023-04-02 19:10:19 HTML

当您将元素的显示值设置为内联或内联块时,您通常会在元素之间看到默认空格。如果您不想在设计中出现空白,可以通过多种方法将其删除。示例代码:

    inlineinline-block
body{margin:0;}ul{/*font-size:40px;*/list-style:none;保证金:0;填充:0;}ulli{显示:内联块;边框:1px实心#ccc;//设置边框,方便查询}解决方法一:使用负边距,可以去除空隙。把上面的代码改一下:ulli+li{margin-left:-5px;}这个应该是常用的方法;但是这个方法会受到祖先容器字体大小的影响。如果字体大一点,那就不一样了。差距越大,不是上面说的-5px,就可以实现差距的删除;可以用JS验证差距是否与字体大小有关://当字体大小设置为16px时:varfirst=document.querySelector('#first');varlast=document.querySelector('#last');varc1=first.getBoundingClientRect();varc2=last.getBoundingClientRect();vargapWidth=c2.left-c1.width;//gapWidth=>4.732177734375//所以我们之前设置了-5px,因为CSS不支持小数点,所以四舍五入;//当字体大小设置为32px时:varfirst=document.querySelector('#first');varlast=document.querySelector('#last');varc1=first.getBoundingClientRect();varc2=last.getBoundingClientRect();vargapWidth=c2.left-c1.width;//gapWidth=>9.46435546875//如果我们早点设置-5px,则无效。了解getBoundingClientRect的使用,可以点这里查看:方法二:删除
    inlineinline前后元素之间的空隙-block
方法三:设置父元素font-size:0,并重新指定其子元素的字体大小ul{list-style:none;保证金:0;填充:0;字体大小:0;}ulli{显示:内联块;边框:1px实心#ccc;//设置边框方便查询font-size:16px;}