uni-app 每个view间隔会有条白线

uni-app 每个view间隔会有条白线

信息类别 内容
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 win11 23H2
HBuilderX 正式
HBuilderX版本 3.99
手机系统 Android
手机版本号 Android 12
手机厂商 小米
手机机型 小米11
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

<view>
<view style="background-color: #08B266;">11</view>
<view style="background-color: #08B266;">11</view>
<view style="background-color: #08B266;">11</view>
<view style="background-color: #08B266;">11</view>
<view style="background-color: #08B266;">11</view>
<view style="background-color: #08B266;">11</view>
</view>

操作步骤:

  • chrome运行

预期结果:

  • 没有间隔白线

实际结果:

  • 有间隔白线

bug描述:

每个view为什么会有间隔这条白线,怎么解决,打包成app没有白线


更多关于uni-app 每个view间隔会有条白线的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

这个不影响可能是机型的问题 我的两个安卓机在开发环境下也有这种效果

更多关于uni-app 每个view间隔会有条白线的实战教程也可以访问 https://www.itying.com/category-93-b0.html


可以加到父元素上,或者可以margin-top:-1px ; 抵消

uni-app 中,如果你发现每个 view 之间出现了一条白线,可能是由于以下几个原因导致的:

1. 默认的 marginpadding

  • 默认情况下,某些元素可能会有 marginpadding,导致它们之间出现间隙。
  • 解决方法:检查并重置 marginpadding
    view {
      margin: 0;
      padding: 0;
    }
    

2. borderoutline

  • 如果 view 元素有 borderoutline,可能会导致视觉上的白线。
  • 解决方法:检查并移除不必要的 borderoutline
    view {
      border: none;
      outline: none;
    }
    

3. line-heightfont-size

  • 如果 view 内部有文本内容,line-heightfont-size 可能会导致额外的空间。
  • 解决方法:调整 line-heightfont-size
    view {
      line-height: 1;
      font-size: 14px;
    }
    

4. flex 布局的间隙

  • 如果使用了 flex 布局,justify-content: space-betweenalign-items: center 可能会导致元素之间出现间隙。
  • 解决方法:调整 flex 布局的属性。
    .container {
      display: flex;
      justify-content: flex-start; /* 或其他合适的值 */
      align-items: flex-start; /* 或其他合适的值 */
    }
    

5. float 布局的间隙

  • 如果使用了 float 布局,可能会导致元素之间出现间隙。
  • 解决方法:清除浮动或使用其他布局方式。
    .clearfix::after {
      content: '';
      display: table;
      clear: both;
    }
    

6. box-sizing 属性

  • 如果 box-sizing 设置为 content-boxpaddingborder 会增加元素的实际尺寸,导致间隙。
  • 解决方法:将 box-sizing 设置为 border-box
    view {
      box-sizing: border-box;
    }
    

7. white-space 属性

  • 如果 view 内部有空白字符(如换行符),white-space 属性可能会导致这些字符显示为间隙。
  • 解决方法:设置 white-space: nowrapwhite-space: pre
    view {
      white-space: nowrap;
    }
    

8. display: inline-block 的间隙

  • 如果 view 设置为 inline-block,元素之间的空白字符(如换行符)可能会导致间隙。
  • 解决方法:移除空白字符或使用 font-size: 0
    .container {
      font-size: 0;
    }
    view {
      display: inline-block;
      font-size: 14px; /* 恢复字体大小 */
    }
    

9. background-color 未覆盖整个区域

  • 如果 viewbackground-color 未覆盖整个区域,可能会导致视觉上的白线。
  • 解决方法:确保 background-color 覆盖整个区域。
    view {
      background-color: #fff; /* 或其他颜色 */
    }
    

10. uni-app 默认样式

  • uni-app 可能会有一些默认样式,导致 view 之间出现间隙。
  • 解决方法:检查并重置 uni-app 的默认样式。
    /* 在 App.vue 中全局重置样式 */
    page, view {
      margin: 0;
      padding: 0;
    }
回到顶部