Возможно ли это без помощи javascript?
Обычно у нас есть панели меню в верхней части страницы - мы помещаем их как ребенок body
а затем абсолютно позиционируем их, например, top: 10px; right: 10px;
top: 10px; right: 10px;
,
Что делать, если мы хотим достичь той же цели, но как контекстное меню дальше по странице?
Я начал скрипку, чтобы дать представление - здесь нет позиционирования, мы просто имеем по умолчанию overflow: visible
.
Я не могу полностью позиционировать его, потому что я не знаю x, y из-за динамического характера предшествующего ему контента.
Единственный способ, о котором я могу думать, - пойти по традиционному маршруту верхней навигационной панели, а с помощью javascript найти контейнер x, y этого контейнера и разместить его там. Однако мне нужно будет управлять этим, если содержимое, которое предшествует ему, изменится, тогда его положение также должно измениться.
Кто-нибудь знает о методе jQuery для "stick-to". Или даже лучше добиться этого с помощью чистого css?
благодаря
здесь моя грубая скрипка - нажмите "один" http://jsfiddle.net/hHR23/1/
Я думаю, вы этого хотите, но я не уверен в вашем описании:
http://jsfiddle.net/samih/hHR23/2/
Обратите внимание:
.section {
height: 58px;
background-color: yellow;
position: relative;
}
И это:
.menu {
position: absolute;
}
Теперь ваше меню будет следовать с "динамической" страницей, потому что абсолютное положение относится к контейнеру "позиция: относительный".
Другой подход - скрипка.
HTML
<div class='header'>Header</div>
<div class='floatingmenu'>
<ul class="menu">
<li>One
<ul class="sub-menu">
<li>one a</li>
<li>one b</li>
<li>one c</li>
<li>one d</li>
<li>one e</li>
<li>one f</li>
<li>one g</li>
</ul>
</li>
<li>Two</li>
<li>Three</li>
</ul>
</div>
CSS
.header {
height: 40px;
background-color: blue;
}
.floatingmenu {
width: 30%;
height: 30%;
background-color: green;
color: white;
border: 10px solid white;
border-radius: 10px;
margin: 20px auto;
}
.footer {
height: 200px;
background-color: yellow;
}