如何使空div占用空间

Old*_*dek 94 html css

这是我的960网格系统案例:

<div class="kundregister_grid_full">
    <div class="kundregister_grid_1">ID</div>
    <div class="kundregister_grid_1">Namn</div>
    <div class="kundregister_grid_1">Anv.Namn</div>
    <div class="kundregister_grid_1">Email</div>
    <div class="kundregister_grid_1">Roll</div>
    <div class="kundregister_grid_1">Aktiv</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的div组,用作表结构.

CSS说如下:

.kundregister_grid_1 {
    display: inline-block;
    float: left;
    margin: 0; 
    text-align: center;
}
.kundregister_grid_1 {
    width: 140px;
}
Run Code Online (Sandbox Code Playgroud)

不介意瑞典语命名.我希望div显示,即使它们没有值.

<div class="kundregister_grid_full">
 <div class="kundregister_grid_1">ID</div>
 <div class="kundregister_grid_1"></div>
 <div class="kundregister_grid_1"></div>
 <div class="kundregister_grid_1">Email</div>
 <div class="kundregister_grid_1">Roll</div>
 <div class="kundregister_grid_1">Aktiv</div>
</div>
Run Code Online (Sandbox Code Playgroud)

像这样,在这种情况下,两列中没有'Namn'和'Avn.Namn'.但是,当在chrome中运行它时,它们将被删除,并且不再按顺序推送其他div float:left.因此,如果我在上面的相同div中有类别,则值将被置于错误的类别下.

Rit*_*ito 59

它可以移除浮动.http://jsbin.com/izoca/2/edit

与浮动它只有一些内容,例如 &nbsp;

  • `min-height:1px;`技巧也适合我. (8认同)
  • 另一个答案说,放入一个最小高度将使它在浮动时工作,当然在我自己的情况下工作.如果这总是正确的(现在,在2016年)那么这个答案是错误的.你可以添加min-height:1px; 宽度:140px; 无需移除浮动或添加内容. (5认同)

Pek*_*ica 53

尝试添加&nbsp;空项目.

我不明白你为什么不在<table>这里使用?他们会自动做这种事情.

  • 同意.如果是表格数据,请使用表格 - 这就是它们的用途. (9认同)
  • 在这段时间之后,人们仍然认为`<table>`== BAD. (5认同)
  • 使用`&nbsp;`作为流行的解决方案,可能会在某些情况下导致问题.就像你罢工(`text-decoration:line-through;`)文本时,笔画会显示在`&nbsp;`上,而你真正想要的只是一个空白的div. (4认同)
  • @Pekka웃,并不总是可以“使用表格”。对于响应式设计,我有同样的问题(“如何使空的 div 占用空间”),当宽度较短时,我将水平表格变成垂直表格。*我已经在使用表格了...* (3认同)

Jon*_*han 23

稍微更新@ no1cobla的答案.这隐藏了这个时期.此解决方案适用于IE8 +.

.class:after
{
    content: '.';
    visibility: hidden;
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你想使用它作为后备工作,当元素为空时添加类似:`.class:after:empty` (4认同)

Eng*_*lic 20

浮动 div的简单解决方案是添加:

  • 宽度(或最小宽度)
  • 最小高度

这样你可以保持浮动功能并强制它在空时填充空间.

我在页面布局列中使用此技术,即使其他列为空,也要将每列保持在其位置.

例:

.left-column
{
   width: 200px;
   min-height: 1px;
   float: left;
}

.right-column
{
    width: 500px;
    min-height: 1px;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

  • `min-height`是最好的解决方案 (3认同)

Blo*_*sie 13

只需在伪元素中添加零宽度空格字符

.class:after {
    content: '\200b';
}
Run Code Online (Sandbox Code Playgroud)

  • 哦,我喜欢这个想法,因为这意味着用户不会意外地复制粘贴它,默认情况下伪元素是不可选择的。 (2认同)