Я использую slideToggle
чтобы отображать/скрывать подменю, но всякий раз, когда я переключаю подменю, добавляется немного дополнительного пространства в нижней части содержащего элемента. Это только на короткую секунду.
Любая идея, почему это происходит?
Вы можете видеть поведение в этой скрипке.
JS
$( ".dd" ).click(function() {
$( ".submenu" ).slideToggle( "slow", function() {
});
});
Ваша маржа рушится, и это вызывает скачок с помощью метода slideToggle(). Исправить это?
Добавить
li {
overflow:auto;
}
Если вы решите не проходить дополнительный маршрут прокладки, это также, похоже, сработает.
Обновленный CSS
header nav > ul > li {
display: block;
margin: 0 0 12px 0;
}
header .submenu li {
display: block;
margin: 0 0 12px 0;
}
header nav > ul > li:last-child {
display: block;
margin: 0 ;
}
решение состоит в том, чтобы добавить 1px дополнение вместо 0 дополнений
ul, li {
list-style: none;
margin:0;
padding:1px;
}
наслаждаться :)
margin-bottom:12px
а также родительское меню, делая его двойным, когда вы открываете / закрываете его jsfiddle.net/3dX3T/19