Dier_Sergio_Great
@Dier_Sergio_Great
Увлеченный человек

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

Коллеги, Молю помогите. Имею большой опыт. Но кажется с простой задачей справится не могу.
-Имеется в углу экрана кнопка гамбургер.
-При нажатии на которую открывается меню.
Работало просто. Делаю любой тег в виде кнопки, и вешаю на него :HOVER.
Меню же открывается после наведения на тег в виде кнопки.
То теперь надо усложнить задачу. надо чтобы после открытия меню тег в виде кнопки превращался в кнопку с крестиком.
Т.е. надо так чтобы после срабатывания :HOVER, тег само собой меняет иконку, но при этом чтобы при нажатии на иконку меню закрывалось.
<div class=menu>
	<div class=icon>
		<ul>
			<li><a>Пункт меню 1
			<li><a>Пункт меню 2
		</ul>
	</div>
</div>

.icon{
	width: 40px; height: 40px;
	position: relative;
}
.icon ul{
	position: absolute;
	top: 100%;
	display: none;
}
.icon:hover{
	display: block;
}

Как видно простая схема открывания меню при наведении.
.
Но как сделать чтобы изначальная иконка меняла свое поведение после клика на открытие меню?
Кликабельность иконки все равно из чего делать, из внутреннего DIV или из внешнего значения не имеет.

Добавлено:
хочу сделать меню для смартфона
https://gesor.ru/index.php
Там слева открывается гамбургер на маленьком экране
.
суть в том что сейчас клик пальцем по экрану в пустое не активное место расценивается как ховер.
ну в общем
при первом клике пальцем на гамбургере открывается меню. А при втором клике на гамбургере меню должно закрыватся

PS сделать без JS и без CHECKBOX
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
SemanticMoscow
@SemanticMoscow
не внимательно прочитал, а потому ранее фигню написал, извините.
не хочу думать про hover и кликабельность иконки.

предложу обойтись вообще без всех этих div`ов и пр.
<details><summary>показать меню</summary><ul>
<li><a>Пункт меню 1<li><a>Пункт меню 2</ul></details>
иконку сами приделайте вместо стандартной.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@cssfish
Плохое знание основ - причина больших бед
Т.е. хотите сделать закрытие по клику без js.
Скрытый input type="checkbox" в помощь. Но тогда и скрывать и показывать надо по клику, без hover
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
16 нояб. 2024, в 18:48
5000 руб./за проект
16 нояб. 2024, в 18:47
50000 руб./за проект