すでに述べたように、JavaScriptはこのためのあなたの親友です。しかし、CSS3で可能かどうか尋ねられたので、試してみる必要がありました。基本的に、私が行ったことは、アニメーションをトリガーするためにターゲットセレクターを使用したことです。したがって、リンクをクリックすると、divがコンテンツとともに展開され、別のリンクをクリックすると、新しいコンテンツ(同じ場所に配置されている)を持つ新しいdivが展開され、同じdivが展開されているように見えます。
これは最適なソリューションではなく、この例を非常に迅速に作成したため、希望どおりに機能していませんが、CSSだけでどのように実行できるかについて少なくとも全体像を把握できます。
お役に立てば幸いです。
これがデモで、これが私の例のコードです。
HTML
<a href="#box">Box</a><br /><a href="#boxtwo">Box two</a>
<div id="box">Hello</div>
<div id="boxtwo">Hello again,</div>
CSS
#box, #boxtwo{
position: absolute;
top: 50px;
left: 50px;
width: 0px;
height: 0px;
background-color: #e3e3e3;
color: transparent;
}
#box:target {
-webkit-animation: expand 1.0s ease-in forwards;
}
#boxtwo:target {
-webkit-animation: expand 1.0s ease-in forwards;
}
@-webkit-keyframes expand {
0% {width: 0px; height: 0px; color: transaprent;}
50% {width: 100px; height: 100px; color: transparent;}
100% {width: 100px; height: 100px; color: #000000;}
}