Просмотр полной версии : top, bottom и overflow в CSS
задача: оставить шапку вверху страницы, скролить только контент
Т.е. див с контентом должен начинаться от нижнего края шапки и тянуться до нижнего края окна браузера и иметь скролбар такой же высоты
в стиле дива с контентом я прописал (сто пикселей на шапку):
top: 100px;
bottom: 0px;
overflow: auto;
в фф это все работает прекрасно, а вот ие не понимает, растягивает див на всю ширину контента и скролит весь документ вместе с шапкой
как бы решить енту проблемку?
deathstorm
02.02.2006, 16:47
есть мыслся, простая до безобразия
сделать 2 дива (одним по другим
вопрос не понят до безобразия
если короче, нужно нарисовать див высотой на xxx пикселей меньше высоты окна браузера и прилепить его к нижнему краю окна браузера
средствами css
и чтоб везде работало
ие в принципе не понимает совместного использования top и bottom, равно как left&right. перспектива мрачная, в ней светит джаваскрипт...
а не хочется... ой как не хочется...
podskazku ili rabo4ii primer?
ya kak to polgoda nazad imelsya :( no reshul :)
sorry za lat net vremeni na rabote v slepuu klikat'?
podskazku ili rabo4ii primer?
Как тебе проще. Спасибо.
Я, честно говоря, начал уже с помощью таблицы лабать.
Тут, правда, еще одна проблема появилась. Но это потом, сначала сам голову поломаю
<style type="text/css">
html {
width:100%; height:100%;
overflow:hidden;
}
body {
width:100%; height:100%;
margin:0; padding:0;
overflow:auto;
font-family:Arial;
font-size:12px;
}
#content {
text-align: center;
margin-top:15px;
}
#menu {
position:absolute;
top:0px;
background: url(images/bg_toolbar.png) repeat-x fixed;
width: 100%;
height: 30px;
}
#conteiner-txtbar {
padding-top:2px;
width:760px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div id="menu">
<div id="conteiner-txtbar"></div>
</div>
update :) eto nedodelanui
html {
width:100%; height:100%;
overflow: hidden;
}
body {
width:100%; height:100%; overflow:auto;
margin:0; padding:0;
font-family:Arial; font-size:12px;
text-align:center;
}
#menu {
position:absolute;
background: url(images/bg_toolbar.png) repeat-x fixed;
width:100%; height:30px;
right:17px; z-index:1;
}
#conteinerTxtBar {
width:760px;height:30px;
text-align: center;color:#CCC;
margin-left: auto; margin-right: auto;
background:url(images/topRight_bgMov.gif) no-repeat right top;
padding-bottom:4px;
}
Ннннеее...
В моей задачке "overflow: auto" должно быть прописано не у боди, а у conteinerTxtBar. И высота его не 30px, а что-нить типа "100% минус высота шапки"
conteinerTxtBar это и есть шапка
<body>
<div id="шапка-conteiner">
<div id="шапка"></div>
</div>
<div id="content h:100%">...</div>
есле не-то пришли jpeg layout-a
посмотрим удачиЖ)
в фф это выглядит как надо
в ие див с контентом уползает за край экрана на 100рх, т.к. имеет высоту 100% и верхний отступ 100рх
<div conteiner content hight:100%>
<div content padding-top:100px></div>
</div>
glavnoe pravilo dlya vseh blokov width and hight v meste s paddingom i marginom sushestvovat' nemogut!!!
мне уже становится жалко тебя мучить
ты до сих пор не понял суть проблемы (или уже я сплю на ходу)
да, padding-top оставляет пустое место сверху. эт хорошо.
теперь подумай, как сделать, чтобы когда текста будет слишком много и он перестанет влезать в окно, скроллер крутил бы только текст и не трогал шапку.
Т.е. сделать некое подобие фреймсета без фреймсета
более менее удалось свести браузеры к одному знаенателю
здесь пример http://iaminthe.net/damnedpositioning/
работает и в фф и в ие. в опере не работает
и сделан через сам знаешь какое место
ну вы тут и развернулись =)
если такой короткий js для тебя не мрачен то вобщем-то как-то так
//во всех случаях высоту меняешь как .style.height = ..
if (window.innerHeight) {
...
} else if (document.documentElement && document.documentElement.clientHeight) {
...
} else if (document.body) {
...
}
оно, конечно, спасибо
я уже разрулил по-другому
подставляю под каждый браузер свой css-файл (нарочно, чтоб ети стандартизаторы в гробу перевернулись!)
для ie
height: expression(document.body.offsetHeight-98);
для всех остальных
top: 98px;
bottom: 0px;
вроде как жс есть, а вроде и нету... Главное, душа спокойна. И без таблиц обошлось
спасибо интернету за бездвоздмездно предоставленные фичи
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.