Как отобразить скрытое меню, которое появляется, когда приближаете курсор к тексту?

Как сделать так, чтобы при наведении курсора на определенное слово отображался скрытый список ul, который находится под этим словом?
Изображение к вопросу
  • 19 января 2024 г. 10:39
Ответы на вопрос 2
Для реализации поведения, при котором при наведении курсора на определенное слово появляется скрытое меню (например, список `ul`), вы можете использовать CSS, а при необходимости дополнить логику JavaScript. Предположим, что у вас есть HTML-структура примерно следующего вида:

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Скрытое меню при наведении</title>
    <style>
        /* Скрыть меню по умолчанию */
        .hidden-menu {
            display: none;
            position: absolute; /* Для позиционирования под словом */
            left: 0;
            background: #f9f9f9;
            border: 1px solid #ccc;
            z-index: 1000; /* Убедитесь, что меню отображается поверх других элементов */
        }

        /* Отобразить меню при наведении на слово */
        .trigger:hover + .hidden-menu {
            display: block;
        }
    </style>
</head>
<body>

<!-- Пример текста с интерактивным элементом (словом) -->
<p>
    Это <span class="trigger">важное слово</span>
    <ul class="hidden-menu">
        <li>Пункт 1</li>
        <li>Пункт 2</li>
        <li>Пункт 3</li>
    </ul>
    в предложении.
</p>

</body>
</html>
```

В этом примере:

- `.hidden-menu` - это класс, который задается скрытому списку и скрывает его по умолчанию с помощью `display: none;`.
- `.trigger` - это класс, который применяется к интерактивному элементу (например, слову), при наведении на который должно появляться скрытое меню.
- `.trigger:hover + .hidden-menu` - CSS-селектор и псевдокласс, который применяется, когда происходит наведение на элемент с классом `.trigger`. С помощью `+` (селектор смежных элементов) меняется стиль блока со скрытым меню, непосредственно следующего за элементом, на который наведен курсор. Меню становится видимым с помощью `display: block;`.

Для получения лучшего эффекта и повышения доступности можно использовать JavaScript, например, для управления сложными взаимодействиями или анимациями отображения скрытого меню. Но в простом случае, описанном выше, используется только CSS, что обеспечивает хорошую производительность и удобство поддержки.
и в чем проблема? вешаете на главный пункт меню отдельный класс и на него ховер с показом дочернего меню
Похожие вопросы