Для реализации данной функциональности можно использовать JavaScript. Вот пример кода, который решает вашу задачу:
HTML:
```html
<div class="menu">
<div class="menu-header">Меню</div>
<ul class="sub-menu">
<li>Пункт 1</li>
<li>Пункт 2</li>
<li>Пункт 3</li>
</ul>
</div>
```
CSS:
```css
.menu {
position: relative;
width: 200px;
}
.sub-menu {
display: none;
}
.menu-header {
cursor: pointer;
}
```
JavaScript:
```javascript
document.querySelector('.menu-header').addEventListener('click', function() {
var subMenu = document.querySelector('.sub-menu');
if(subMenu.style.display === 'none') {
subMenu.style.display = 'block';
this.style.position = 'relative';
this.style.top = '-100px'; // прокручиваем заголовок вверх
} else {
subMenu.style.display = 'none';
this.style.top = '0px'; // возвращаем заголовок на место
}
});
```
Этот код добавляет обработчик события "click" на заголовок меню. При клике на заголовок меню, сначала проверяется, отображается ли в данный момент подменю. Если подменю скрыто, оно отображается (display: block) и заголовок прокручивается вверх. Если подменю уже отображается, оно скрывается (display: none) и заголовок возвращается на место.