Как сделать колонки одинаковой высоты

24.12.2013

Теги: CSSHTMLWeb-разработкаВерстка

Пусть у нас есть простой двухколоночный макет, который содержит header, footer и две колонки под основной контент. Для одной колонки задано float:left, для другой — float:right. Но, поскольку нельзя заранее сказать, сколько контента будет в каждой из них, одна всегда будет больше другой по высоте:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"> 
<link rel="stylesheet" type="text/css" href="style.css" />
<title>Колонки одинаковой высоты</title>
</head>
<body>
<div id="wrapper">
    <header>
        <a href=""><img src="images/logo.jpg" alt="" /></a>
        <nav>
            <a href="">Главная</a>
            <a href="">Каталог</a>
            <a href="">Доставка</a>
            <a href="">Оплата</a>
            <a href="">Статьи</a>
            <a href="">Контакты</a>
        </nav>
    </header>

    <div id="content">
        <article>
            <h1>Lorem ipsum dolor sit amet</h1>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et...
            </p>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et...
            </p>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et...
            </p>
        </article>
        <aside>
            <h2>Lorem ipsum</h2>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et...
            </p>
            <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et...
            </p>
        </aside>
    </div>
    
    <footer>
        <p>© Copyright. All rights reserved</p>
    </footer>
</div>
</body>
</html>
* {
    margin: 0;
    padding: 0;
}
img {
    border: none;
}
body {
    background: #f5f5f5 url(images/body-bg.jpg) left top repeat-x;
    font: 14px/1.2 Arial, sans-serif;
    color: #555555;
}
#wrapper {
    width: 755px;
    margin: 0 auto;
}

header {
    padding: 20px 0;
}
    header > a {
        display: block;
        width: 346px;
        height: 153px;
        margin: 0 auto;
    } 
    header > nav {
        overflow: hidden;
        border-bottom: 2px solid #9dc5f0;
    }
        header > nav > a {
            display: block;
            float: left;
            box-sizing: border-box;
            width: 16.66667%;
            padding: 5px;
            border-top: 1px solid #f5f5f5;
            border-right: 1px solid #f5f5f5;
            color: #555555;
            font-size: 16px;
            text-decoration: none;
            text-align: center;
        }
        header > nav > a:first-child {
            border-left: 1px solid #f5f5f5;
        }
        header > nav > a:hover {
            text-decoration: underline;
        }
        
#content {
    overflow: hidden;
    margin-bottom: 20px;
}
    #content > article, #content > aside {
        padding: 10px;
        background: #fff;
        box-sizing: border-box;
    }
    #content > article {
        float: left;
        width: 68%;
    }
    #content > aside {
        float: right;
        width: 30%;
    }
        #content > article > h1, #content > article > p,
        #content > aside > h2, #content > aside > p {
            margin: 10px 0;
        }
        #content > article > h1, #content > aside > h2 {
            margin-top: 0;
        }
        #content > article > h1 {
            font-size: 22px;
        }
        #content > aside > h2 {
            font-size: 18px;
        }
        
footer {
    padding-bottom: 20px;
}

Выравниваем колонки по высоте:

#content > article, #content > aside {
        padding: 10px;
        background: #fff;
        box-sizing: border-box;
        /* выравнивание по высоте */
        padding-bottom: 32000px;
        margin-bottom: -32000px;
    }

Дополнительно

Поиск: CSS • HTML • Web-разработка • Верстка

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.