Недавно я начал разработку веб-программирования/проектирования, и я столкнулся с этой проблемой.
В HTML5 у вас есть такие классные теги, как section
и header
и footer
и все.
- Мой первый вопрос возникает здесь: они ведут себя (в контексте CSS) точно, например
div
s?
Переходя к более конкретной проблеме, я должен создать сайт с простой структурой header -> content (section) -> footer
(примечание: меня не интересует совместимость IE). Я хотел бы, чтобы центральная часть расширялась (по вертикали) настолько, насколько это возможно, до тех пор, пока она не встретит нижний колонтитул.
Часть "до тех пор, пока она не встретит нижний колонтитул" не может быть достигнута через несколько padding-bottom
, но как насчет "расширения как можно большего"? Обратите внимание, что нижний колонтитул должен останавливаться, когда при изменении размера страницы он соответствует разделу.
Я имею в виду, я знаю, что с некоторыми div
жизнь будет проще, но возможно ли, что с сегодняшними стандартами мне все равно придется обернуть всю страницу тегом <div id="container">
?
Поэтому возникает второй вопрос...
- Не могу ли я достичь того, чего бы достичь, используя
html
иbody
в качестве контейнеровdiv#container
, сделавhtml
частьюhtml + body
, аbody
-div#container
?
Надеюсь, мой вопрос ясен, я знаю, что я предпочитаю отклоняться, когда пишу.
Примечание для ясности, я добавлю свою структуру HTML и некоторые основные моменты из моего CSS здесь, но я не знаю, соответствуют ли они вопросу.
HTML:
<html>
<head...>
<body>
<header id="page_header">
stuff in the header...
</header>
<section id="page_content">
stuff in the main section...
</section>
<footer id="page_footer">
an almost-sticky footer...
</footer>
</body>
</html>
CSS
* {
margin: 0;
}
html {
background-image: url('../res/img/bg-light.png');
height: 100%;
position: relative;
}
body {
width: 900px;
height: 100%;
margin: 0 auto 20px auto;
padding: 0;
}
section#page_content {
min-height: 400px; // ? does this stop the footer from being dragged over the content when resizing?
width: 80%;
margin: 0 auto;
}
footer#page_footer {
position: absolute;
height: 20px;
width: 100%;
left: 0;
bottom: 0;
}
Micro-note Почему, черт возьми, мой body
не начинается с точной вершины страницы, а начинается с нескольких пикселей сверху? Просто спрашивайте.