html - span/div block 之间的边距未设置为 0px

标签 html css

我有一些 span/div block 定义了宽度和高度并将显示设置为 inline-block 但这些 block 之间有一些间隙所以我使用了 margin:0px; 但仍然存在差距,我必须使用负边距值来消除该差距。 这是我正在使用的代码

//HTML SPAN BLOCKS//
<body>
<span class="pro" id="1"></span>
<span class="pro"></span>
<span class="pro"></span>
<span class="pro"></span>
<span class="pro"></span>
<span class="pro"></span>
<span class="pro"></span>
<span class="pro"></span>
</body>

//CSS//

body{margin:0px;}
.pro{
    width:300px;
    height:300px;
    display:inline-block;
    border:1px solid #FF0004;
    margin:0px;
    padding:0px;
}
#1{
    background:#FF0004;
}

我正在给背景提供 ID,但它不起作用。跨度 block 之间的边距在 Internet Explorer 中为 0(当设置为 0 时)。

JSFIDDLE

当我在这些标签中添加一些内容(文本)时,整个布局都乱七八糟。所有方 block 从其位置上下移动

最佳答案

inline-block 元素之间的空格是由父元素的 font-size 引起的,在您的例子中是 BODY 元素。要解决此问题,请将父元素的 font-size 设置为 0,然后在 .pro 中定义新的 font-size > 元素。

这是通过使用 .clearGaps 容器包装内容而不影响 body 元素的 font-size 的解决方案。

https://jsfiddle.net/jrv4zp5d/1/

html:

<div class="clearGaps">
    <span class="pro" id="1"></span>
    <span class="pro"></span>
    <span class="pro"></span>
    <span class="pro"></span>
    <span class="pro"></span>
    <span class="pro"></span>
    <span class="pro"></span>
    <span class="pro"></span>
</div>

CSS:

body{
    margin: 0px;
}
.clearGaps {
    font-size: 0;
}
.pro{
    width:300px;
    height:300px;
    display:inline-block;
    border:1px solid #FF0004;
    font-size: 12px; /* restore font size after clearing gaps */
}
#1{
    background:#FF0004;
}

祝你好运

关于html - span/div block 之间的边距未设置为 0px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338599/

相关文章:

javascript - 根据条件淡化图像并排列它们

html - 为什么 'ng-attr-' 不能与属性 'multiple' 一起使用?

html - 我怎样才能摆脱单元格之间的大空间?

javascript - 将相同的文本添加到多个不同大小的 div

使用封面时的 CSS3 淡入淡出背景图像

css - 如何从 JS 访问作用域关键帧

javascript - 无法为容器中的每个 div 设置属性高度(没有 jQuery!)

javascript - 当来自本地主机的图像时,打印图像源本身不起作用

javascript - 无法在ajax的帮助下使用选择选项更新数量

javascript - 打开注释器(注释存储在哪里?)