Вот что я пытаюсь сделать:Развернуть/свернуть список меню анимированы и только с помощью CSS
- Нажмите на кнопку «ПОРТФОЛИО»;
- Толкает все гладко;
- Новые ссылки плавные;
- Нажмите «ПОРТФОЛИО» еще раз, сделайте все наоборот;
Мой текущий код;
$(function() {
$('[data-toggle]').on('click', function() {
var id = $(this).data("toggle"),
$object = $(id),
className = "open";
if ($object) {
if ($object.hasClass(className)) {
$object.removeClass(className)
} else {
$object.addClass(className)
}
}
});
});
#list {
display: none;
}
#list.open {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#">Home</a> </li>
<li><a href="#">A Empresa</a> </li>
<li><a href="#" class="hide" data-toggle="#list">Portfolio</a>
<ul id="list">
<li><a href="#">Comerciais</a> </li>
<li><a href="#">Residenciais</a> </li>
<li><a href="#">Institucionais</a> </li>
<li><a href="#">Edifícios</a> </li>
</ul>
</li>
<li><a href="#">Contato</a> </li>
</ul>
</nav>
Это можно сделать это без JS, только с помощью CSS? Я понятия не имею, как сделать часть анимации, я попробовал CSS Transitions, но не работал.
Кроме того, любые советы по разметке и JS? Я не думаю, что я делаю это «правильно» ... любые советы будут оценены.
CSS действительно принимает фокус на элементе, такие как ссылка или ввод, так что да , вы можете переключить (показать/скрыть) подменю с помощью: фокуса и указателей-событий только через CSS :) –