РЕДАКТИРОВАТЬ: я обновил на основе предоставленного кода.
По сути, мы получили что-то такое:
<!DOCTYPE html>
<html>
<head>
<title>Untitled Document</title>
<style type="text/css">
#main {
min-width: 980px;
margin: 0 auto;
font-size: 0.75em;
padding:101px 0 37px 0;
}
header {
height:101px;
background:url(../images/footer_tail.jpg) left top repeat #0d0d0d;
position:fixed;
top:0;
left:0;
width:100%;
z-index:100;
}
footer {
overflow: hidden;
position:absolute;
bottom:0;
left:0;
width:100%/*; height:37px*/;
background:url(../images/footer_tail.jpg) left top repeat #0d0d0d;
color:#9d9d9d;
text-transform:uppercase
}
</style>
</head>
<body>
<div id="main">
<header>...</header>
<section id="content">... with <a name="blah">anchor</a> a couple paragraphs down the page</section>
<footer>...</footer>
</div>
</body>
</html>
Как написано, ссылки якорей скрыты подверхняя навигация.Кажется, единственное надежное решение - это использование «фреймов CSS» для корректного отображения контента, что требует следующих настроек CSS:
#main
{
padding:0 0 37px 0;
}
section#content
{
position:fixed;
top:101px;
width:100%;
bottom:37px;
overflow:auto;
}
footer
{
position:fixed;
height:37px;
}
Так что я удалил верхний отступ из # main.
Затем я установил фиксированную позицию содержимого и нижнего колонтитула.Из-за этого содержимое должно быть перемещено вниз на 101 пикс., Следовательно, сверху.
Затем я должен был задать высоту нижнего колонтитула, а затем добавить то же количество, что и нижнее значение для содержимого.
Переполнение автоматически дает нам полосы прокрутки, а ширина 100% помещает эти полосы в разумное место.
Проверено на IE 9, Chrome 10, Firefox 4 и Opera 11.
Редактировать 2:И, к сожалению, я не могу найти много онлайн об этом конкретном методе.Эрик Мейер говорит об этом в Smashing CSS.Это не похоже ни на один из существующих онлайн-ресурсов, чтобы проверить, как якорные ссылки будут работать с контентом, что весьма прискорбно.