CSS にはvisability:hidden
との違いがあります。display:none
あなたが望むもののために、私はあなたの問題を軽減するために代わりにこのようなことをします:
CSS:
#xd ul {
display: none;
transition: all 1s ease-in-out;
}
HTML:
<ul id="xd"><ul><li>a</li></ul></ul>
2 つの違いの説明については、詳細情報のリンクを次に示します: http://www.w3schools.com/css/css_display_visibility.asp
基本的に、上記のリンクを言い換えると、visability:hidden
は要素の周囲のスペースを保持し、レイアウトの残りの部分に影響を与えますが、レイアウトdisplay:none
の残りの部分には影響を与えず、要素がページから完全に削除されたかのように機能します。visability:hidden
そのため、要素が非表示になる前に最初に要素を表示する Chrome の癖がある可能性があります。
JSFiddle の例: http://jsfiddle.net/JKA8z/