Переполнение контейнера div по горизонтали, но не по вертикали - PullRequest
3 голосов
/ 06 января 2011

Я работаю над сайтом, который использует две колонки внутри контейнера. Контейнер имеет белый фон, который должен простираться до нижней части любого столбца, поэтому я использую для этого метод Святой Грааль .

Однако оба столбца должны располагаться так, чтобы часть их превышала белый фон ( в этом примере использует фиксированную высоту, которая должна быть плавной). Насколько я знаю, это можно сделать только установив видимый переполнение, но это нарушит равную высоту столбцов.

Как мне исправить это с помощью как можно меньшего количества дополнительных элементов?

Ответы [ 2 ]

5 голосов
/ 06 января 2011

Самым простым исправлением в этом случае является добавление <br style="clear:both" /> перед закрывающим тегом для #container.

Вы можете изменить его на <br class="clearfix" /> и .clearfix{clear:both}, если хотите.

1 голос
/ 06 января 2011

Решение состоит в использовании inline-block элементов ..

Css

.container{
    width:300px;
    background-color:#ccc;
    margin:0 auto;
    border:1px solid red;
}
.container > div{
    width:150px;
    display:inline-block;
    vertical-align:top;
}
.inner{
    background-color:#666;
    margin-top:10px;
    width:130px;
}
.left .inner{
    margin-left:-10px;
}
.right .inner{
    margin-right:-10px;
    margin-left:auto;
}

HTML

<div class="container">
    <div class="left">
        <div class="inner">left 1st inner panel</div>
        <div class="inner">left 2nd inner panel</div>
    </div><div class="right">
        <div class="inner">right 1st inner panel</div>
        <div class="inner">right 2nd inner panel with arbitrary text to show the increase in parent elements</div>
    </div>
</div>

посмотреть демонстрацию

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