简体   繁体   English

删除div块之间的空白

[英]Remove white space between div blocks

How can I remove these white space blocks around my div blocks? 如何删除div块周围的这些空白块? My code is the following: 我的代码如下:

HTML: HTML:

<div class="accordion">
    <div class="accordionitem horizontal"></div>
    <div class="accordionitem vertical"></div>
    <div class="accordionitem vertical"></div>
</div>

CSS: CSS:

html {
    margin: 0px;
    padding: 0px;
}
.accordion {
    width: 100%;
}
.accordionitem {
    display: inline-block;
    background-color: green;
       padding:0;
    margin:0;
}
.vertical {
    width: 10%;
    height: 100px;
}
.horizontal {
    width: 80%;
    height: 100px;
}

DEMO: 演示:

http://jsfiddle.net/PqkGh/2/ http://jsfiddle.net/PqkGh/2/

use: 采用:

 .accordion {font-size:0px; }

This is happening because display:inline-block; 发生这种情况是因为display:inline-block; makes the DIV's behave like inline elements (like space between words) 使DIV的行为像内联元素(如单词之间的空格)

You need to remove the space between the divs 您需要删除div之间的空间

http://jsfiddle.net/PqkGh/3/ http://jsfiddle.net/PqkGh/3/

<div class="accordion">
    <div class="accordionitem horizontal"></div><div class="accordionitem vertical"></div><div class="accordionitem vertical"></div>
</div>

for better readability you can do 为了更好的可读性,你可以做

<div class="accordion">
    <div class="accordionitem horizontal">
    </div><div class="accordionitem vertical">
    </div><div class="accordionitem vertical">
    </div>
</div>

Inline-block tends to add these spaces because it picks up on spaces/text between tags (including new lines). 内联块往往会添加这些空格,因为它会占用标记(包括新行)之间的空格/文本。 To remove these white paces, comment out the area between the DIVs like so 要消除这些空白,请像这样注释掉DIV之间的区域

<div class="accordion">
    <div class="accordionitem horizontal"></div><!--
    --><div class="accordionitem vertical"></div><!--
    --><div class="accordionitem vertical"></div>
</div>

You could also remove the display: inline-block from the CSS and add float: left : 您还可以从CSS中删除display: inline-block并添加float: left

.accordion: after {
    clear: both;
}

.accordionitem {
    background-color: green;
    float: left;
}

Fiddle . 小提琴

You can do this with several ways 您可以通过几种方法来做到这一点

1. .accordion {font-size:0px; }

2.  .accordionitem{margin-right: -4px;}

3.  <div class="accordion">
        <div class="accordionitem horizontal"></div><!--
        --><div class="accordionitem vertical"></div><!--
        --><div class="accordionitem vertical"></div>
    </div>

reference link 参考链接

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

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