css解决display:inline-block;布局产生的缝隙的方法

本篇文章主要介绍了css解决display:inline-block;产生的缝隙间隙)的方法,具有一定的参考价值,有需要的可以了解一下。

今天在做H5的水平滑动卡片时用到了display:inline-block;却发现处在同一水平线上的元素之间居然产生了缝隙,这很显然不是我想要的效果,所以我就换成了左浮动,这样缝隙的问题是解决了,但是需要设置父元素的宽度才能实现水平左右滚动,这样又增加了代码量,因为卡片的个数不固定,需要实时设置其父元素的宽度,就要用到js,所以代码量增加了,也不是最好的选择。看来最好的解决办法就是用到display:inline-block;了,于是缝隙的问题就出现了。代码如下:

nbsp;html>document*{margin:0;padding:0;}.box{overflow-x:auto;background:#fff;white-space:nowrap;}.box span{display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;background:#f00;color:#fff;}

    111    111    111    111

登录后复制

效果如下:

css解决display:inline-block;布局产生的缝隙的方法

这个缝隙很明显存在,据说这种表现是符合规范的应该有的表现,是换行造成的空白符导致的。但这效果很显然不是我们想要的,我们想要的缝隙是我们根据自己的实际需求而设置的边距。那么该如何消除产生的这个缝隙呢?办法有三:

 方法一:元素之间不换行,代码如下:

立即学习“前端免费学习笔记(深入)”;

  111111111111

登录后复制

效果如下:

css解决display:inline-block;布局产生的缝隙的方法

方法二:给其父元素设置font-size:0;给其自身设置实际需要的字号大小。不好的地方就是有些浏览器有设置最小字体,像chrome和opera,但是现在的chrome好像没有这个设置了,代码如下:

css:

.box{overflow-x:auto;background:#fff;white-space:nowrap;font-size:0;}.box span{display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;background:#f00;color:#fff;font-size:14px;}

登录后复制

html:

    111    111    111    111

登录后复制

效果如下:

css解决display:inline-block;布局产生的缝隙的方法

方法三:负margin方法,需要注意的是这个间隙跟字号大小有关系的,所以间隙不是个确定值。

以上三种方法,前两种是比较好的解决办法,第三种方法不推荐使用。网上还有其他的解决办法,但我认为还是前两种比较好。

PS:

结合广大前端大神的评论建议来看,也可以给其父元素设置display:flex来消除缝隙,且代码量少了,但是用在我的水平滑动卡片的效果中导致所有的元素都处在了可视窗口中,就不能实现水平左右滑动了。

以上就是css解决display:inline-block;布局产生的缝隙的方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2903024.html

(0)
上一篇 2025年3月11日 01:41:47
下一篇 2025年3月5日 05:02:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • inline元素特点是什么

    inline元素特点是:1、水平方向上根据direction依次布局;2、不会在元素前后进行换行;3、受white-space控制;4、margin/padding在竖直方向上无效,水平方向上有效。 对于我这样的初学者来说,一开始可能会经常…

    2025年3月10日
    200
  • block元素的特点有哪些

    block元素的特点有:1、总是在新行上开始;2、高度,行高以及顶和底边距都可控制;3、宽度缺省是它的容器的100%,除非设定一个宽度。 块元素特点:1.独占一行2.元素的宽高和内外边距都可以设置3.宽度如果不设置就是父级元素的100%常见…

    2025年3月10日
    200
  • 深入了解CSS中display属性的常见属性值

    深入了解CSS中display属性的常见属性值,需要具体代码示例 引言: CSS的display属性是控制元素如何显示的重要属性之一。它决定了元素在文档中的呈现方式,包括是否生成盒子、是否独占一行、是否可见等。本文将深入介绍display属…

    2025年3月10日
    200
  • <span>使用{display:block}之后仍然无法设置宽度?_html/css_WEB-ITnose

    #span1{ display:block; weidth:500px; height:50px; } 在进行了如上设置之后,span1仍然占满一行,请问大家是什么原因呢? 回复讨论(解决方案) width写错了。。。。 好尴尬~~~~这么…

    编程技术 2025年3月9日
    200
  • 使用HTML5解决Flexbox中元素之间的未知间隙

    Flexbox 中元素之间的未知间隙是由于标题到栏分割的边距折叠造成的。要解决此问题 – 将标题的边距重置为 0,或者将边框添加到栏。可以通过向 bar 添加属性 padding: 10px 来对 bar 进行填充。 尝试以下代…

    2025年3月9日
    200
  • 微信小程序block应该如何使用

    这次给大家带来微信小程序block应该如何使用,微信小程序block使用的注意事项有哪些,下面就是实战案例,一起来看一下。 经过一年的发展,微信小程序发展火热,本期就介绍下小程序的一些使用。 在安卓中我们经常会使用ListView/Grad…

    2025年3月8日
    200
  • 使用微信小程序block步奏详解

    这次给大家带来使用微信小程序block步奏详解 ,使用微信小程序block的注意事项有哪些,下面就是实战案例,一起来看一下。 经过一年的发展,微信小程序发展火热,本期就介绍下小程序的一些使用。 在安卓中我们经常会使用ListView/Gra…

    2025年3月8日
    200
  • block使用实战案例详解

    这次给大家带来block使用实战案例详解,block使用的注意事项有哪些,下面就是实战案例,一起来看一下。 在安卓中我们经常会使用ListView/GradeView/RecyclerView来实现展示循环数据。那么小程序中怎么到呢。其实很…

    2025年3月8日
    200
  • 微信小程序block的使用教程

    这篇文章主要介绍了微信小程序block的使用 ,微信小程序最近非常火热,实现起来也很简单,只要block就可以实现,需要的朋友可以参考下 经过一年的发展,微信小程序发展火热,本期就介绍下小程序的一些使用。 在安卓中我们经常会使用ListVi…

    2025年3月8日
    200
  • C++ 内联函数如何提升代码的可读性和维护性?

    内联函数通过将代码嵌入调用点优化代码,提升可读性和维护性。优势包括:提高可读性:在调用点显示函数代码,便于理解。降低维护成本:隔离函数避免对主代码体的修改。提升性能:避免函数调用开销,通常比常规函数调用更快。 C++ 内联函数:提升代码可读…

    2025年3月6日
    200

发表回复

登录后才能评论