Как поместить div один рядом с другим без плавающего?

0

Мне удалось разместить два divs один рядом с другим, используя float: left, но нижний div не отображается должным образом: http://jsfiddle.net/N4kE3/2/

И с этим css для каждого div:

display: inline-block;
width: 50%;

см.: http://jsfiddle.net/N4kE3/3/

Они один над другим. Я должен установить width: 49% чтобы они были рядом друг с другом.

Как это возможно?

Теги:

2 ответа

1
Лучший ответ

Если вы хотите сохранить свои поплавки, вы можете использовать clearfix в контейнере:

Working demo

#action:after {
    content: "";
    display: table;
    clear: both;
}

Если вы хотите использовать inline-block вам нужно удалить пробел в вашей разметке:

Working demo

Эта..

    <div id="action">
        <div id="buy" class="action">Buy</div>
        <div id="sell" class="action">Sell</div>
    </div>

Становится...

<div id="action">
    <div id="buy" class="action">Buy</div><div id="sell" class="action">Sell</div>
</div>

.. в противном случае пробел будет учитываться при расчете ширины, составляющей 50% + 50% + пробелы = более 100%. Вот как работает inline-block.

1

Отображается пробел между элементами. Представьте <strong>Hello</strong> <em>world</em>. Это отображается как " Hello world". См. Пробел между Hello и World.

Ввод и несколько пробелов сворачиваются в одно пространство.

  <strong>Hello</strong>
  <em>world</em>

становится " Hello world".

То же самое происходит с вашими div. Они составляют 50% экрана, но пространство также занимает 10 пикселей, толкает второй div на следующую строку.

Существует несколько способов решения этого. Используя float, используйте display: table-cell или (как я обычно предпочитаю), исключив пространство между divs с помощью комментариев XML <!-- -->.

<div id="content">
    <div id="action">
        <div id="buy" class="action">Buy</div><!--
     --><div id="sell" class="action">Sell</div>
    </div>
    <div id="other">test</div>
</div>

Смотрите скрипку

  • 0
    Разве мы не можем использовать <span> в этом случае?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню