Fengmichouzi 2025-04-24 20:31 采纳率: 0%
浏览 20

html网页设计元素被莫名其妙挤开

问问老大们,这个li包着的a盒子左边为什么有一大块空白,把元素挤了过去,调了一下也不是margin和padding的问题,www秋梨膏

img

img

          <ul>
            <li v-for="item in item.goods" :key="item.id">
              <RouterLink to="/">
                <img :src="item.picture" alt="" />
                <div class="info">
                  <p class="name">{{ item.name }}</p>
                  <p class="desc">{{ item.desc }}</p>
                  <span class="price"><i></i>{{ item.price }}</span>
                </div>
              </RouterLink>
            </li>
          </ul>

img


        ul {
          display: flex;
          flex-wrap: wrap;
          li {
            width: 310px;
            height: 120px;
            margin-right: 15px;
            margin-bottom: 15px;
            border: 1px solid #eee;
            border-radius: 4px;
            background: #fff;

            &:nth-child(3n) {
              margin-right: 0;
            }

            a {
              display: flex;
              width: 100%;
              height: 100%;
              align-items: center;
              padding: 10px;
              color: #000;

              &:hover {
                background: #e3f9f4;
              }
              img {
                width: 95px;
                height: 95px;
              }
              .info {
                padding-left: 10px;
                line-height: 24px;
                overflow: hidden;

                .name {
                  font-size: 15px;
                  color: #666;
                }

                .desc {
                  font-size: 14px;
                  color: #999;
                }

                .price {
                  font-size: 22px;
                  color: $priceColor;

                  i {
                    font-size: 16px;
                  }
                }
              }
            }
          }
        }
      }

img

img

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-04-24 20:31
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你遇到的问题可能是因为 display: inline-block 元素的默认行为导致的。inline-block 元素会在行内上下排列,但是它们之间会有一个空白字符(通常是空格或换行符),这会导致元素之间的空隙。

    你可以尝试添加 font-size: 0 到包围 a 元素的容器中,这样可以消除空白字符。

    例如:

    <ul>
      <li><a href="#">链接</a></li>
    </ul>
    

    可以变为:

    <ul>
      <li style="font-size: 0"><a href="#">链接</a></li>
    </ul>
    

    或者,你可以使用 white-space: nowrap 属性来消除空白字符。

    li {
      white-space: nowrap;
    }
    

    这两个方法都可以解决你遇到的问题。

    评论

报告相同问题?

问题事件

  • 修改了问题 4月24日
  • 创建了问题 4月24日