美文网首页
【BUG】移动端元素间出现间隔

【BUG】移动端元素间出现间隔

作者: 薯条你哪里跑 | 来源:发表于2022-10-12 14:45 被阅读0次

问题:

列表有个吸顶,在移动端上发现表现的很奇怪,有一条缝。


过程

在chrome中查看filter-maskfilter-container发现这两个盒模型是一致的

filter-mask filter-container

但是在手机中查看却大大不同


filter-mask filter-container

可以看到移动端上filter-maskfilter-container缺了一块,这就是导致bug的原因;
看一下这的dom以及css,当filter-mask需要吸顶是会添加tab-fixed类.

<div id="filter-mask"class="filter-mask">
    <div class="filter-container">
      // ... 一些下拉筛选的内容
    </div>
</div>

<style type="text/css">
.filter-mask{
    width: 100%;
}
.tab-fixed{
    position: fixed;
        top:0;
    z-index:99;
}
.filter-container{
    width: 100%;
    display: inline-block;
    font-size: 28px;
}

</style>

经过排查确定高度的差异不是由于filter-container内容物导致的,所以排查点聚焦到了filter-maskfilter-container自身上;

可以看到filter-mask被撑大了,这种奇怪的空隙让我联想到之前ul li标签写模板是出现的空隙,接下来尝试下 给父级filter-mask设置font-size:0, 之后查看发现显示恢复正常,filter-maskfilter-container宽高一致; 和在chrome上看到的效果一致;

此时基本上就很接近真理了,我们将dom做下修改

<div id="filter-mask"class="filter-mask"><div class="filter-container">
      // ... 一些下拉筛选的内容
    </div>
</div>

没看错,只是将两个dom间的格式化抛弃,之后在手机上查看效果,发现展示恢复正常。

结论

此次问题是由于代码自动格式化的时候,往往有一些缩进、换行,当元素的displayinline或者inline-block时,这些缩进、换行就会产生空白,导致问题。
所以以下的方法均使用修复此次问题:

    1. 使dom紧贴着没有格式化(不推荐)
    1. 将子集filter-containerdisplay: inline-block;移除 (视情况而定,在此情景下可移除);
    1. 给子集级filter-mask设置float:left/right (不太推荐,浮动可能会有影响);
    1. 将父级filter-mask设置font-size:0;(推荐,影响最小,子集记得重新设置font-size)

====以上====

贴个相关文章 : https://⭐️ css-tricks.⭐️ com/fighting-⭐️ the-space-between-inline-block-elements/ (去掉⭐️ )

像这篇文章说的

This isn’t a “bug” (I don’t think). It’s just the way setting elements on a line works.

确实有其合理性,根据需求去处理就阔以啦

相关文章

  • 移动端页面可左右移动一小点距离的bug

    自己在PC端上做了一个页面,调试基本没有问题,但是放到移动端的时候就出现了一个bug,移动端的页面显示的时候,页面...

  • 搜集问题

    移动端各种 bug 叶小钗 前端之家

  • 移动端常见bug

    移动端常见bug整理原文链接 点击样式闪动 Q: 当你点击一个链接或者通过Javascript定义的可点击元素的时...

  • 移动端的坑

    1、移动端定位最好不要用fixed,用绝对定位absolute。2、移动端会有点透BUG,需要touchstart...

  • website-bug-video

    Bug:网页PC端和移动端背景不同; PC端背景为视频,移动端背景为图片切换动画。从手机上某个app上点击网址打开...

  • 阻止移动端 touchmove 与 scroll 事件冲突

    在移动端开发过程中,如果要实现一个元素或按钮的拖动定位,会出现很多坑。例如:元素上下移动过程中,会触发 body ...

  • 移动端解决点击事件元素出现背景框方法@令狐张豪

    在做移动端开发的时候我们有时候给某个元素加了点击事件后点击该元素在Android上会出现背景框,在IOS上会出现点...

  • vue移动端扫一扫(history模式下)

    出现的问题:ios会有bug 原因:ios上history模式下的url不会刷新,一直是刚进入移动端的那个url ...

  • 开发中遇到的一些样式问题

    ★ 问题 :ios 移动端 父元素的 border-radius、overflow: hidden; 对子元素{...

  • 移动端基础

    移动端布局计算Flex:采用Flex布局的元素,它的所有子元素自动成为容器成员,可以自动分配空间,更适合做移动端开...

网友评论

      本文标题:【BUG】移动端元素间出现间隔

      本文链接:https://www.haomeiwen.com/subject/ejefzrtx.html