Я ищу решение только для CSS, чтобы создать фиксированный заголовок в div, где полоса прокрутки для содержимого начинается рядом с заголовком (а не ниже). Чтобы понять, как это должно выглядеть, взгляните на эту скрипку:
Здесь я попытался сделать следующий подход:
HTML
<div class="outer">
<div class="top">Title</div>
<div class="body">
<div class="content">
.... Text Content here ...
</div>
</div>
</div>
CSS
.outer {
position: absolute;
top: 20px;
left: 20px;
width: 200px;
height: 300px;
}
.top {
z-index: 2;
position: absolute;
height: 30px;
width: 100%;
}
.body {
z-index: 3;
position: relative;
width: 100%;
height: 100%;
overflow: auto;
}
.content {
margin-top: 30px;
}
Проблема с этим подходом заключается в том, что содержимое лежит поверх заголовка (вы увидите его, как только начнете прокрутку). Однако, похоже, это действительно близко к решению. Но поскольку я ничего не нашел в Интернете, я боюсь, что это возможно только с JavaScript. Так это правда или есть решение только для CSS для этой проблемы?
Я нашел решение! Фокус в том, чтобы применить z-index: -1
к элементу content
и удалить z-index
из всех остальных элементов:
.outer {
position: absolute;
top: 20px;
left: 20px;
width: 200px;
height: 300px;
}
.top {
position: absolute;
height: 30px;
width: 100%;
}
.body {
position: relative;
width: 100%;
height: 100%;
overflow: auto;
}
.content {
position: relative;
z-index: -1;
margin-top: 30px;
}
Вот обновленная скрипка: http://jsfiddle.net/V4uL6/3/
Установите z-index
на body
на 1 или любое число, меньшее, чем z-index
top
.
EDIT: У вас по-прежнему проблема с скрытой полосой прокрутки, но, поскольку вы сказали, что хотите полосу прокрутки рядом, а не под заголовком, вы можете изменить это, отрегулировав ширину в классах контента.
body
выше 100%, вы переместите полосу прокрутки на столько, чтобы выровнять ее идеально. Однако это означает, что вам необходимо сделать outer
ширину, а также ширину каждого родительского элемента в процентах (вместо пикселей), потому что как только ширина браузера или размер / разрешение экрана изменятся, вы увидите что-то другое, и выравнивание будет потеряно. С другой стороны, это позволит вам иметь макет, который будет отображаться точно так же, как и для каждой возможной пользовательской конфигурации.