Консультация № 65899
07.12.2006, 06:21
0.00 руб.
0 4 3
Здравствуйте!

Подскажите пожалуйста как сделать панельки сверху и с низу страницы, чтобы они были всегда в одном месте экрана, даже при прокрутке многостраничного документа?

Как мне кажется это, что-то с таблицами или колонтитулами нужно мудрить.
Но не вкоем случае не нужно фреймов. С фреймами я и сам могу такое сделать.

Кстате на счет фреймов, нельзя ли их как-нибудь симулировать? Тоесть вроде фрейм, а реально один документ, с выделенным особым образом блоком? Чтобы прокрутка была и др свойства фрейма?

Обсуждение

Неизвестный
07.12.2006, 07:58
общий
это ответ
Здравствуйте, Артём Талипов!

попробуйте
<table border=0>
<tr height=20%>
<td width=100%>Панелька_1</td>
</tr>
<tr height=20%>
<td width=100%><pre>Ваш Текст</pre></td>
</tr>
<tr height=20%>
<td width=100%>Панелька_1</td>
</tr>
</table>
Неизвестный
07.12.2006, 08:26
общий
PaVeL_Ekt я попробовал, вполне ожидаемый результат. Верхняя и нижняя панелька 20% от экрана как собствено и просили. Если бы документ был одностраничный, вышло бы всё как нужно.Но вот в чем дело, основной текст давольно приличный, и когда курсор в начале документа, нижней панельки нет. И наоборот когда на нижней панельки верхней нет.Я предположил, что height20% для основного текста это 60%, а pre /pre не имеет смысла, поскольку это всего лишь пример.Я знаю, что есть колонтитулы, для текста в верху и в низу страницы, конечно использовать их, для панелек, это не правильно, но что есть альтернативного? Как можно зафиксировать?Если бы взять основной текст во фрейм, и засунуть в вашу таблицу, то получилось, то что нужно. Прокрутка будет только для текста. А панели останутся в покое.Хотя всё равно спасибо, предложенный вами код оказался для меня не бесполезным. Теперь страницы с маленьким текстом корректно отображаются.
Неизвестный
07.12.2006, 09:04
общий
это ответ
Здравствуйте, Артём Талипов!

Если надо чтобы прокручивалась только посредине часть экрана с текстом, то нужно попробовать использовать правила CSS2:

в HTML файле записываем весь текст в блок:
<div class="list_of_abilities">
.... текст ......
</div>

а в CSS файле будет следующий код:

DIV.list_of_abilities {
margin: 0;
padding: 0;
border: solid 1px #B11117;
width: 530px;
height: 305px;
overflow: auto; /* вот это свойство отвечает за то, чтобы появлялась прокрутка, когда содержание элемента превышает размеры блока */
}
Неизвестный
08.12.2006, 22:18
общий
это ответ
Здравствуйте, Талипов А Н!
Уже ко всему сказанному добавлю, что можно делать не середину прокручиваемой, а фиксированной верхнюю панель и нижнюю, как Вы сначала спросили.
Не буду дублировать ответ, вот, только что написал подобное (см. мой ответ):
http://rusfaq.ru/info/Question/66026
Играя со значениями (в div.fixed) можно добиться этого эффекта.
Чтобы фиксировать блок сверху -> top: 0px;
Чтобы фиксировать блок снизу -> bottom: 0px;
Ну, и по ширине страницы сделать -> width: 100%;
Всё просто.
Удачи!
P.S. Код всё таки приведу :)

Приложение:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Position: fixed</title><style type="text/css">html, body { margin: 0; background-color: white;}div.fixed { position: fixed; bottom: 0px; right: 0px;}</style><!--[if lte IE 6]><style type="text/css">html, body { height: 100%; overflow: auto; }div.fixed { position: absolute; right: 18px;}</style><![endif]--></head><body>test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
<div class="fixed"> <img src="1.png" width="200" height="100" alt=""> </div></body></html>
Форма ответа