【问题标题】:How to foce min-width on empty div如何在空 div 上强制最小宽度
【发布时间】:2012-11-23 18:57:06
【问题描述】:

我正在尝试显示一些“对齐”文本——我决定使用 6 列布局,但它并不是真正的列布局,因为每一行都可以有一个单元格(如表格中)跨度多列。但是,我只使用这样做。

我的 CSS 如下所示,只要有内容,它就可以工作。但是,如果没有内容,它会失败。请帮忙!

.p_row { 宽度:900px; 填充顶部:0px; 清除:左; }

    .p_col1 { min-width: 140px; }
    .p_col2 { min-width: 280px; }
    .p_col3 { min-width: 420px; }
    .p_col4 { min-width: 560px; }
    .p_col5 { min-width: 700px; }
    .p_col6 { min-width: 840px; }


    .labeldesc {
        display: inline-block; 
        float: left;
        text-align: left; 
        vertical-align: top; 
        margin-right: 0px; 
    }

    .field {
        display: inline;  
        float: left;
        text-align: left; 
        vertical-align: top; 
        margin-right: 0px; 
    }

样本数据:

<div class="Row Container">
    <div class="p_row">
        <div class="p_col1 labeldesc">Condition:</div>
        <div class="p_col1 field">@clinicalCondition.Description</div>
        <div class="p_col1 labeldesc">Is Chronic:</div>
        <div class="p_col1 field">@clinicalCondition.ChronicIndicatorString</div>
        <div class="p_col1 labeldesc">Date</div>
        <div class="p_col1 field">@clinicalCondition.DateString</div>
    </div>

    <div class="p_row">
        <div class="p_col1 labeldesc">Comment:</div>
        <div class="p_col5 field">@clinicalCondition.Comments</div>
    </div>
</div>   

在上面,我希望所有标签/字段对齐,但如果字段值之一是 string.empty,则最小宽度不起作用。如果我删除浮动:左,它也不起作用。并且 display: inline-block 似乎没有做任何事情,min-width 也没有。

任何帮助将不胜感激!我同时使用 FireFox 和 IE,但没有运气。

【问题讨论】:

  • 如果一个元素的宽度或高度为零,并且没有边框/填充/等,它不会占用空间。
  • 也就是说,尝试设置一个最小高度。

标签: css layout html grid


【解决方案1】:

为了跟进 Shmiddty 的 cmets,我添加了一个 min-height: 1px;它就像一个魅力。

【讨论】:

    猜你喜欢
    • 2014-11-07
    • 2011-02-16
    • 2013-08-12
    • 2012-02-07
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    相关资源
    最近更新 更多