1

私はアコーディオン スタイルのリストをアニメーション化しようとしていますが、子供に与えるパーセンテージに関係なく、完全に (0% であっても) 表示されます。この JSBinを参照してください--「0%」を「0」(または「0px」) に変更すると、問題なく非表示になりますが、0% (または 1%、50%、100% など) では子供は完全に見えます。パーセンテージは、親に明示的なピクセルの高さを与えた場合にのみ機能するようです<li>(ただし、子の展開をアニメーション化するとうまくいきません)。

親の高さが指定されていない場合、パーセンテージの高さがどのようにおかしい動作をするかは理解できますが、常に 0% は 0px でなければなりません。それは私が理解していないものです。

4

2 に答える 2

0

高さのパーセンテージは、親の高さに応じて高さを設定します。親の高さが設定されていない場合は、親の高さを指定する必要があります。

ドキュメンテーションによると

パーセンテージは、生成されたボックスの包含ブロックの高さに関して計算されます。包含ブロックの高さが明示的に指定されておらず (つまり、コンテンツの高さに依存する)、この要素が絶対位置に配置されていない場合、値は auto に計算されます。ルート要素の高さのパーセンテージは、最初の包含ブロックに対して相対的です。

したがってheight:auto;、この場合は高さ 0% になります。

于 2013-10-25T20:49:00.630 に答える