如何在IE7中设置div的最小高度?

use*_*854 13 css internet-explorer-7

我需要设置div的最小高度.在Firefox中,一切都很好,但我在使用IE7时遇到了麻烦 - 这是一个意想不到的大空间.

ul, il {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

    .p_block{   
        color: #336699;
        font-size: 14px;
        min-height: 18px;
    }

<ul>
    <li><a href="#"><div class="p_block">text</div></a></li>
    <li><a href="#"><div class="p_block">text</div></a></li>
    <li><a href="#"><div class="p_block">text</div></a></li>
    <li><a href="#"><div class="p_block">text</div></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我删除padding: 0px;ul, li,一切工作正常.为什么?

Pro*_*f83 45

@Chinmayee,该解决方案的问题在于firefox和其他几个元素的高度将无法超过18px.

最小高度的跨浏览器解决方案:

{
height: auto !important;
height: 200px;
min-height: 200px;
}
Run Code Online (Sandbox Code Playgroud)

基本上;
第1行:大多数现代浏览器都理解!重要,因此不会覆盖下一行的属性.

第2行:因为旧浏览器不知道!重要,它必须是设定的高度.较旧的浏览器将允许元素增长,除非有溢出:属性集.

第3行:现代浏览器理解min-和!important.所以现代浏览器理解高度:自动和最小高度:200px,而旧版浏览器理解高度:200px; 但会让元素增长;)

  • @muhd,是的,但如果存在更多内容,IE仍将扩大高度..(*另一个bug,在这种情况下对我们有利*) (2认同)
  • 不幸的是,这破坏了jQuery使用.height()和.css("height",VALUE)函数操纵元素高度的能力.有一个解决方法,但我花了一段时间才找到.我将把它留在这里:http://hungred.com/how-to/jquery-javascript-css-important/ (2认同)

Chi*_*e G 1

将此 CSS 用于 IE 和 FF

  .p_block{   
        color: #336699;
        font-size: 14px;
        min-height: 18px;
        height:18px !important;
    }
Run Code Online (Sandbox Code Playgroud)