.expands
을 사용하는 디자인 패턴을 사용하여 .expanded
자동 크기 플렉스 박스 요소에 대한 하위 클래스를 .hidden
번 토글하려고합니다.자동 크기 조정 플렉스 박스 레이아웃에 CSS 전환 또는 자바 스크립트 애니메이션 추가
뭔가 같은 :
const expandClick = e => {
e.currentTarget.querySelectorAll('.expanded').forEach(child => {
child.classList.toggle('hidden')
})
}
document.querySelectorAll('.expands').forEach(expandable => {
expandable.addEventListener('click', expandClick)
})
https://jsfiddle.net/vpc8khq8/
내 내면의 내용이 display: none
속성을 잃게 때, 나는 약간의 바운스 함께 완화 높이를 싶습니다,하지만 난 방법을 아주 확실하지 않다 바닐라 CSS 전환 또는 JS의 핀치로 그걸 풀어 라.
그러나 답변의 대부분은 더 간단하고 가벼운 솔루션보다 이상한 부작용을 초과 JS/CSS를 해킹처럼 보인다. 나는 날씬하고 뭔가를 사용하고 싶습니다, https://jsfiddle.net/cm7a9jr7/
const expandClick = e => {
$(e.currentTarget).children('.expanded').each(function() {
$(this).slideToggle('slow', 'swing', function() {
$(this).toggleClass('hidden')
})
})
}
$(() => $('.expands').on('click', expandClick))
을하지만 :
이것은 jQuery를 함께 트릭을 수행합니다. CSS에서 이것을 권장하는 라이브러리 또는 간단한 방법이 있습니까?
가능한 복제 내가 할 수있는 전이 고도 : 0; 높이 : 자동; CSS 사용?] (https://stackoverflow.com/questions/3508605/how-can-i-transition-height-0-to-height-auto-using-css) – VilleKoo
@VilleKoo 어쩌면 일부 라이브러리가 팝업되기를 바랬습니다. 그 게시물 이후 7 년. 허용 된 최대 높이 응답에는 이상한 부작용 (예 : 기묘한 지연)이 있습니다. 다른 대답에는 이상한 효과가있는 것으로 보입니다. 그 게시물의 댓글 쓰레드는'모든 답변이 맞지 않습니다. ''라고 말합니다. – arby
animate.css가 당신이 찾고있는 것일 수도 있습니다. –