CSS调试帮助 - 空div崩溃

Hca*_*tek 28 html css

以下HTML来自aspx页面.这是关于第一个子DIV元素.在IE7中,即使DIV元素为空,HTML也会呈现出我想象的效果.它应该是它的父级宽度的大约1/3,但在FireFox中它会折叠到零宽度.所有3个div都向左浮动.无论如何,我的问题是如何在FireFox中至少保持空DIV的宽度为32%,最好是Safari,Opera和Chrome.我希望修复程序能够解决所有浏览器中的问题.毫无疑问,原因是我缺乏CSS知识加上可能不正确的IE7渲染.它可能表现正常.任何人都可以帮我纠正这个问题吗?

   <div style="padding-left: 4px ! important; overflow: auto; width: 96% ! important;"  class="fullwidthdiv">

           <div style="width: 32% ! important;" class="oneThirdColumn"></div>

            <div style="width: 32% ! important;" class="oneThirdColumn">
             $<input type="text" style="width: 70px;" class="underlinedTextBox updateReserveAmount" tabindex="123" id="ctl00_DefaultContent_payment1_paymentfrmView_updateReserveAmount" maxlength="11" name="ctl00$DefaultContent$payment1$paymentfrmView$updateReserveAmount">
            </div>
            <div style="width: 32% ! important;" class="oneThirdColumn">
            <input type="submit" style="width: 120px;" class="updateReserve" tabindex="124" id="ctl00_DefaultContent_payment1_paymentfrmView_btnReserve" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$DefaultContent$payment1$paymentfrmView$btnReserve&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" value="Update Reserve" name="ctl00$DefaultContent$payment1$paymentfrmView$btnReserve">  
            </div>
   </div>
Run Code Online (Sandbox Code Playgroud)

Guf*_*ffa 43

这不是问题的宽度,而是高度.

如果div中没有​​任何内容,则高度变为零.但是,IE中存在一个众所周知的错误,它使所有元素的内容至少有一个字符高.

您可以指定div的高度,或者&nbsp;当您没有任何其他东西放在那里时可以放入它.


Chr*_*way 18

我知道这有点旧,但我做的是添加这样的最小高度样式:

.oneThirdColumn {
    min-height: 1em;
}
Run Code Online (Sandbox Code Playgroud)

  • 1em是一个非常大的默认值.怎么样`min-height:1px;`? (3认同)

Y.B*_*.B. 7

<span>在FireFox中遇到了类似的问题(至少47.0.2和50).

修复了以下CSS : span:empty:before {content: '\a0';}.

如果仅为空,那将&nbsp;<span>内容之前添加一个,并且不会影响具有一些文本或子元素的元素的布局.