次のコードは、p
CSS3(実際にはWebkit)トランジションで水平方向に折りたたまれて展開される要素を示しています。
<style>
div * {
display: inline-block;
}
p {
overflow-x: hidden;
white-space: nowrap;
-webkit-transition: width 1s;
}
</style>
<div>
<a><i>begin</i><p><s>middle</s></p><b>end</b></a>
<a id="after">after</a>
</div>
<script>
$('div > a').each(function() {
var a, p;
a = $(this);
p = $('p', a);
a.toggle((function() {
p.width(0);
}), function() {
p.width(p[0].scrollWidth);
});
});
</script>
Chromeを使用するときに望ましい効果があります: http ://www.screenr.com/vJH7
ただし、Safari(デスクトップおよびモバイル)では、コンテナ要素の見かけの幅は、内側のコンテナが折りたたまa
れたときに拡張された幅にスナップバックします。p
これにより、次の要素が強制#after
的に宇宙に浮かび上がります...ヘルプ!これはSafariのバグですか?誰かが修正を提供できますか?