Верстка. Помогите разобраться на простом примере.

WhiteFalke
На сайте с 16.09.2007
Offline
184
528

Задача - у левой и правой колонки сделать высоту на 100% экрана, что бы если было мало текста в них, они все равно растягивались до конца экрана. Специально все блоки выделял разным цветом.

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="description" content="Дискрипшн" />
<meta name="keywords" content="Ключевые слова" />
<link rel="stylesheet" href="style.css" type="text/css" />
<title>Заголовок страницы - Титл</title>
</head>
<body>

<div id="container">
<div id="leftmenu">
<ul>
<li><a href="#">Меню 1</a></li>
<li><a href="#">Меню 2</a></li>
<li><a href="#">Меню 3</a></li>
<li><a href="#">Меню 4</a></li>
<li><a href="#">Меню 5</a></li>
<li><a href="#">Меню 6</a></li>
</ul>
</div>
<div id="center">
<p>Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст Текст текст текст </p>
</div>
<div id="rightmenu">
<ul>
<li><a href="#">Меню 1</a></li>
<li><a href="#">Меню 2</a></li>
<li><a href="#">Меню 3</a></li>
<li><a href="#">Меню 4</a></li>
<li><a href="#">Меню 5</a></li>
<li><a href="#">Меню 6</a></li>
</ul>
</div>
</div>

</body>
</html>

style.css

* {

margin: 0;
padding: 0;
border: 0;
}
body {
padding: 10px 0 0;
background: #765474;
color: #333;
font-family: Tahoma, Verdana, Helvetica, Sans-Serif;
}
#container {
width: 1024px;
height:100%;
margin: 0 auto;
background: #B23232;
}


/* Центральная часть */
#center {
width: 624px;
font-size: .8em;
color: #333;
margin: 0px auto;
float: left;
background: #D79F33;

}
#text p {
text-align: justify;
text-indent: 1.5em;
margin: 0;
padding: 0 15px;

}

/* Левая колонка */
#leftmenu {
width: 250px;
height:100%;
float: left;
background: #CAE62D;

}
#leftmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#leftmenu li a {
color: #000;
}
#leftmenu li a:hover {
color: #000;
}


/* Правая колонка */
#rightmenu {
width: 150px;
height: 100%;
float: left;
text-align: center;
background: #33D765;
}
#rightmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#rightmenu li a {
color: #000;
}
#rightmenu li a:hover {
color: #000;
}


И если можно объясните почему в эксплорере виден background container, а в фф нет.

zip test.zip
Николай В.
На сайте с 07.09.2006
Offline
62
#1

Доктайп уберите — будет высота :)

Контейнер не виден скорее всего из-за того, что у вас clear для флоатов нет.

kil
На сайте с 03.04.2006
Offline
84
kil
#2


* {
margin: 0;
padding: 0;
border: 0;
}


html, body {
padding: 0px 0 0;
background: #765474;
color: #333;
font-family: Tahoma, Verdana, Helvetica, Sans-Serif;
height: 100%;
}

#container {
width: 1024px;
margin: 0 auto;
background: #B23232;
height: 100%;
}


/* Центральная часть */
#center {
width: 624px;
font-size: .8em;
color: #333;
margin: 0px auto;
float: left;
background: #D79F33;
}

#text p {
text-align: justify;
text-indent: 1.5em;
margin: 0;
padding: 0 15px;

}

/* Левая колонка */
#leftmenu {
width: 250px;
height:100%;
float: left;
background: #CAE62D;

}
#leftmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#leftmenu li a {
color: #000;
}
#leftmenu li a:hover {
color: #000;
}

/* Правая колонка */
#rightmenu {
width: 150px;
height: 100%;
float: left;
text-align: center;
background: #33D765;
}
#rightmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#rightmenu li a {
color: #000;
}
#rightmenu li a:hover {
color: #000;
}
WhiteFalke
На сайте с 16.09.2007
Offline
184
#3
Николай В.:
Доктайп уберите — будет высота :)
Контейнер не виден скорее всего из-за того, что у вас clear для флоатов нет.

Да помогло, только возникла новая проблема, в эксплорере все уехало влево. Да и строку эту убирать не хотелось :)

kil
На сайте с 03.04.2006
Offline
84
kil
#4

Собственно надо было добавить высоту 100% для html и body.

Фон для container не был виден как раз потому что высота у него не была задана, но при этом находящиеся элементы имели аттрибут "float" (в таком случае ff и opera считают, что у такого блока высота равна 0).

WhiteFalke
На сайте с 16.09.2007
Offline
184
#5
kil:

* {
margin: 0;
padding: 0;
border: 0;
}


html, body {
padding: 0px 0 0;
background: #765474;
color: #333;
font-family: Tahoma, Verdana, Helvetica, Sans-Serif;
height: 100%;
}

#container {
width: 1024px;
margin: 0 auto;
background: #B23232;
height: 100%;
}


/* Центральная часть */
#center {
width: 624px;
font-size: .8em;
color: #333;
margin: 0px auto;
float: left;
background: #D79F33;
}

#text p {
text-align: justify;
text-indent: 1.5em;
margin: 0;
padding: 0 15px;

}

/* Левая колонка */
#leftmenu {
width: 250px;
height:100%;
float: left;
background: #CAE62D;

}
#leftmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#leftmenu li a {
color: #000;
}
#leftmenu li a:hover {
color: #000;
}

/* Правая колонка */
#rightmenu {
width: 150px;
height: 100%;
float: left;
text-align: center;
background: #33D765;
}
#rightmenu ul {
font-size: 13px;
margin: 0 0 0 40px;
list-style-type: circle;
}
#rightmenu li a {
color: #000;
}
#rightmenu li a:hover {
color: #000;
}

Спасибо! Помогло

WhiteFalke добавил 27.10.2008 в 12:28

kil:
Собственно надо было добавить высоту 100% для html и body.
Фон для container не был виден как раз потому что высота у него не была задана, но при этом находящиеся элементы имели аттрибут "float" (в таком случае ff и opera считают, что у такого блока высота равна 0).

А то что прописано для container height:100%; не считается?

kil
На сайте с 03.04.2006
Offline
84
kil
#6

Так height вычисляется от родительского элемента. Т.е. height: 100% - это 100% высоты родительского элемента.

Николай В.
На сайте с 07.09.2006
Offline
62
#7

kil, это не решение.

— так получится, если контента в колонках будет больше высоты окна.

WhiteFalke
На сайте с 16.09.2007
Offline
184
#8
Николай В.:
kil, это не решение.

— так получится, если контента в колонках будет больше высоты окна.

Блин.. точно :(

artserge
На сайте с 12.05.2007
Offline
32
#9
Сателлиты быстро и красиво - пишите в личку или ICQ 316-151-378 Нужно подружить CMSimple и SeoZavr - подробный FAQ по установке биржи статей SeoZavr (/ru/forum/184700)!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий