Как заставить элемент растягиваться на ту же высоту, что и содержимое в нем? - PullRequest
0 голосов
/ 06 марта 2010

Высота заголовка div не будет растягиваться по вертикали, чтобы соответствовать содержимому в нем, если я не укажу для него высоту или если я не добавлю один из них:

  <div style="clear:both"></div> 

перед закрывающим тегом div заголовка.

<style type="text/css">
#header {
    border: 1px solid green;
}
</style>

        <div id="header">
            <span id="logo"><img src="images/logo.png" /></span>
            <span class="fright">something will go here</span>
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">About Us</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </div><!-- header -->

Может ли это быть сделано без использования "очищающего div" или без придания заголовку div фиксированной высоты?

Ответы [ 3 ]

1 голос
/ 06 марта 2010

Попробуйте это:

#header { overflow: auto; width: 100%; }

Он очистит ваши поплавки без дополнительного элемента

0 голосов
/ 06 марта 2010

Вы можете использовать метод clearfix, чтобы избежать необходимости использовать очищающий div.Это задокументировано на этом сайте .

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
    }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

Тогда все, что вам нужно сделать, это дать div класс .clearfix.

0 голосов
/ 06 марта 2010

Единственная причина, по которой клир будет иметь влияние, - это если вы используете поплавки. Можете ли вы опубликовать все свои CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...