简体   繁体   English

HTML内联块元素之间的差距是什么

[英]What's the small gap between HTML inline-block elements

Given I have below HTML markup: 鉴于我有以下HTML标记:

<div id="conatiner">
    <div id="b1" class="block">block 1</div>
    <div id="b2" class="block">block 2</div>
    <div id="b3" class="block">block 3</div>
</div>

and below CSS scripts: 以及CSS脚本:

div {
    outline: solid gray 1px;
}

.block {
    display: inline-block;
    width:100px;
    background-color: gray;
}

I expected the 3 blocks to be adjacent without any gaps. 我预计3个街区相邻,没有任何间隙。 But unfortunately, the result shows small gaps between each other (in all browsers). 但不幸的是,结果显示彼此之间存在小的差距(在所有浏览器中)。 在此输入图像描述

I checked computed box-model with browser developer tools, I did not find any border, margin or padding value which may result in gaps. 我使用浏览器开发人员工具检查了计算框模型,我没有找到任何可能导致间隙的边框,边距或填充值。 Then I am wondering what results in the gaps? 然后我想知道是什么导致了差距?

Live demo: http://jsfiddle.net/YNmds/ 现场演示: http//jsfiddle.net/YNmds/

White space in your HTML HTML中的空格

Change this to: 将其更改为:

<div id="conatiner">
    <div id="b1" class="block">block 1</div><div id="b2" class="block">block 2</div><div id="b3" class="block">block 3</div>
</div>

Demo: http://jsfiddle.net/jerryhuangme/95b39/ 演示: http//jsfiddle.net/jerryhuangme/95b39/

Try 尝试

.block {
   float: left;
   width:100px;
   background-color: gray;
}   

It's because you used display: inline-block 这是因为你使用了display: inline-block

You could do this: 你可以这样做:

div {
    outline: solid gray 1px;
    overflow: hidden;
}

.block {
    width:100px;
    background-color: gray;
    float: left;
}

And keep your HTML as it is: 并保持您的HTML原样:

<div id="conatiner">
    <div id="b1" class="block">block 1</div>
    <div id="b2" class="block">block 2</div>
    <div id="b3" class="block">block 3</div>
</div>

Another possible solution without outline size. 另一种可能没有轮廓尺寸的解

div {

    outline: solid gray;

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM