css 块与块之间的微小间距是多少?[duplicate]

jk9hmnmh  于 2023-03-20  发布在  其他
关注(0)|答案(2)|浏览(126)

此问题在此处已有答案

(41个答案)
昨天关门了。
我试着创建一个简单的块结构来形象化工作原理“显示:内联块;“财产。我有一个问题:块之间看起来像边界的微小空间是什么,我没有设置它?为什么会出现它?

h1 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 2.5rem;
        margin-top: 0;
        font-weight: 100;
    }
    
    .container {
        background-color: rgba(12, 14, 24, 0.82);
    }
    
    .yellow {
        background-color: rgba(255, 251, 2, 0.82);
        height: 300px;
        width: 10%;
        display: inline-block;
        box-sizing: border-box;
    }
    
    .pink {
        background-color: rgba(236, 2, 157, 0.68);
        height: 300px;
        width: 10%;
        display: inline-block;
        box-sizing: border-box;
    }
    
    .cyan {
        background-color: cyan;
        height: 300px;
        width: 10%;
        display: inline-block;
        box-sizing: border-box;
    }
<div class="container">
    <div class="yellow">
        <h1>1</h1>
    </div>
    <div class="pink">
        <h1>2</h1>
    </div>
    <div class="cyan">
        <h1>3</h1>
    </div>
  </div>

screenshot
我试着在不和谐社区问过,但没有人能给予我一个正确的解释...

vh0rcniy

vh0rcniy1#

问题不在于如何解决这个问题,而在于问题的起因和取决于什么。
间隙的大小取决于容器中当前的字体大小。
下面是一个.container的字体大小为零的代码片段--您将看到元素彼此相对。
然后尝试将其更改为100 px,您将看到宽度变得相当大(虽然不是100 px)。
你代码中的容器没有特别定义的字体大小,所以它会选择默认的字体大小--通常是16 px。当然差距比16 px小得多,我相信这是为了适应字符的边缘,但我可能是错的,如果有人能对此发表评论,那就太好了。

h1 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2.5rem;
  font-size: 2.5rem;
  margin-top: 0;
  font-weight: 100;
}

.container {
  background-color: rgba(12, 14, 24, 0.82);
  font-size: 0;
}

.yellow {
  background-color: rgba(255, 251, 2, 0.82);
  height: 300px;
  width: 10%;
  display: inline-block;
  box-sizing: border-box;
}

.pink {
  background-color: rgba(236, 2, 157, 0.68);
  height: 300px;
  width: 10%;
  display: inline-block;
  box-sizing: border-box;
}

.cyan {
  background-color: cyan;
  height: 300px;
  width: 10%;
  display: inline-block;
  box-sizing: border-box;
}
<div class="container">
  <div class="yellow">
    <h1>1</h1>
  </div>
  <div class="pink">
    <h1>2</h1>
  </div>
  <div class="cyan">
    <h1>3</h1>
  </div>
</div>
wr98u20j

wr98u20j2#

这是因为元素采用默认属性,如display:block;font-size属性使用display:flex;属性到主容器。或在font-size的变化,它将在差距的变化。我希望它会消除您的疑虑。谢谢。

body{
  margin:0;
  padding:0;
  box-sizing: border-box;
} 
h1 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 2.5rem;
        margin-top: 0;
        font-weight: 100;
    }
    
    .container {
        display:flex;
        background-color: rgba(12, 14, 24, 0.82);
    }
    
    .yellow {
        background-color: rgba(255, 251, 2, 0.82);
        height: 300px;
        width: 10%;
        display: inline-block;
        box-sizing: border-box;
    }
    
    .pink {
        background-color: rgba(236, 2, 157, 0.68);
        height: 300px;
        width: 10%;
        display: inline-block;
        
    }
    
    .cyan {
        background-color: cyan;
        height: 300px;
        width: 10%;
        display: inline-block;
        box-sizing: border-box;
    }
<div class="container">
    <div class="yellow">
        <h1>1</h1>
    </div>
    <div class="pink">
        <h1>2</h1>
    </div>
    <div class="cyan">
        <h1>3</h1>
    </div>
  </div>

相关问题