.expands
を使用して、.expanded
の自動サイズのフレックスボックスエレメントの子クラスを.hidden
のように切り替えることを試しています。自動サイズのフレックスボックスレイアウトにCSSトランジションまたはJavascriptアニメーションを追加する
ような何か:
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でハックのように思えます。
これはjQueryを使ってトリックを行います。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))
をしかし、私はスリムなものを使用したいと思います。推奨されているライブラリや、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があなたの探しているものかもしれません。 –