Чтобы добавить подменю в меню при наведении курсора мыши, можно использовать CSS псевдокласс `:hover`. Вот пример:
HTML:
```html
<nav>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Услуги</a>
<ul>
<li><a href="#">Веб-разработка</a></li>
<li><a href="#">Дизайн</a></li>
<li><a href="#">Маркетинг</a></li>
</ul>
</li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
```
CSS:
```css
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav li {
display: inline-block;
position: relative;
}
nav a {
display: block;
padding: 10px;
background-color: #f1f1f1;
text-decoration: none;
}
nav ul ul {
display: none;
position: absolute;
top: 100%;
left: 0;
}
nav li:hover > ul {
display: inherit;
}
nav ul ul li {
width: 200px;
float: none;
display: list-item;
position: relative;
}
nav ul ul ul li {
position: relative;
top: -60px;
left: 200px;
}
nav li:hover a {
background-color: #ddd;
}
nav li:hover ul a {
background-color: #f1f1f1;
}
nav li:hover ul a:hover {
background-color: #ccc;
}
nav a:hover {
background-color: #ddd;
}
```
Чтобы исправить проблему с закрывающимся меню при нажатии на него в мобильной версии, можно использовать JavaScript. Вот пример:
HTML:
```html
<nav>
<div class="menu-toggle"><span></span></div>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Услуги</a>
<ul>
<li><a href="#">Веб-разработка</a></li>
<li><a href="#">Дизайн</a></li>
<li><a href="#">Маркетинг</a></li>
</ul>
</li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
```
CSS:
```css
nav ul {
list-style: none;
padding: 0;
margin: 0;
display: none;
}
nav li {
display: block;
}
nav a {
display: block;
padding: 10px;
background-color: #f1f1f1;
text-decoration: none;
}
nav ul ul {
display: none;
}
nav li:hover > ul {
display: block;
}
nav ul ul li {
width: 100%;
}
nav a:hover {
background-color: #ddd;
}
.menu-toggle {
display: none;
cursor: pointer;
}
.menu-toggle span {
display: block;
width: 30px;
height: 3px;
background-color: #333;
margin-bottom: 5px;
}
```
JavaScript:
```javascript
document.querySelector(".menu-toggle").addEventListener("click", function() {
var nav = document.querySelector("nav ul");
nav.style.display = nav.style.display === "block" ? "none" : "block";
});
```
В данном примере добавляется элемент с классом "menu-toggle" для отображения/скрытия меню в мобильной версии сайта. При клике на этот элемент меняется значение свойства "display" для списка ul внутри меню, что позволяет отображать или скрывать его.