`display: inline-block` 应该是行内可以有排列多个div元素的呀,为何这里会出现这样的重叠情况呢?

作者站长头像
站长
· 阅读数 7

为何div 做成inline-block 之后,重叠了呢?

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="container">
    <div class="item" />
    <div class="item" />
    <div class="item" />
    <div class="item" />
    <div class="item" />
    <div class="item" />
    <div class="item" />
  </div>
<style>
  .container {
    flex-wrap: wrap
  }

  .item {
    width: 50px;
    height: 50px;
    background-color: antiquewhite;
    border: 1px solid black;
    display: inline-block;
  } 
</style>
</body>

</html>

效果:`display: inline-block` 应该是行内可以有排列多个div元素的呀,为何这里会出现这样的重叠情况呢?

display: inline-block 应该是行内可以有排列多个div元素的呀,为何这里会出现这样的重叠情况呢?

回复
1个回答
avatar
test
2024-06-29

answer imagedom渲染结构是嵌套的,<div />不是W3C的标准写法,浏览器渲染会出错,需要使用<div></div>,开始和结束标签宽度包括border是计算在内的,整体宽度52px;内容宽度50px;嵌套所以存在这种情况

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容