CSS: 3 столбца высотой 100%

Вот пример страницы:

http://jsfiddle.net/SkeLLLa/pwfH2/

Я хочу установить 100% высоты для класса content (см. комментарий «Здесь проблема» в исходном коде CSS), но когда я это делаю, левый и правый столбцы (вложенные в content div) становятся высотой 0px. Но когда content имеет высоту в пикселях, все работает нормально.

Есть ли решения без JavaScript?


person m03geek    schedule 10.04.2012    source источник
comment
От другого Мэтью: alistapart.com/articles/holygrail   -  person Markus Jarderot    schedule 10.04.2012
comment
Добавление padding-bottom:9999px; margin-bottom:-9999px; в левый и правый столбцы помогло. Спасибо!   -  person m03geek    schedule 10.04.2012
comment
Но эти трюки вызывают появление прокрутки. Что касается других примеров, мне нужно, чтобы центральный элемент размещался под левым и правым столбцами, а центральный элемент не должен содержать никаких полей для рисования причудливых закругленных границ.   -  person m03geek    schedule 10.04.2012


Ответы (1)


Используйте display: inline-block для столбцов и height:100% для тегов html и body:

    <!doctype html>
    <html>
      <head>
      <style>
      html, body, #content, #left, #right, #center { height: 100%; }
      #content { width: 100%; }
      #left, #center, #right { display:inline-block; }
      #left, #center, #right { width: 32%; border: 1px solid red; }
 
      /* media query for IE 6-7 */
      @media, 
        { 
        #left, #center, #right { display:inline; }
        }
      </style>
      </head>
      <body>
        <div id="content">
            <div id="left">foo</div>
            <div id="center">bar</div>
            <div id="right">baz</div>
        </div>
      </body>
    </html>

person Paul Sweatte    schedule 22.05.2012