cssアニメーションでdivの高さを設定できるかどうか疑問に思っています。divを持っているので、カーソルを合わせると開きますが、元の高さに戻らないように、その高さを維持したいと思います。これは可能ですか?大学のウェブサイトとして、JavaScriptではなく純粋なCSSで行う必要があります
質問する
1037 次
3 に答える
1
jQuery を使用する必要があります。CSS3 はすべてのブラウザーでサポートされているわけではありません。ただし、CSS3 を使用してこれを実現することは可能です。
CSS:
#myDiv {
height:20px;/* initial height */
width:100px;
background:#aaa;
-webkit-transition: height .4s linear; /* you can replace 'height' with the attribute you are changing (eg: color, width...)*/
-moz-transition: height .4s linear;
-o-transition: height .4s linear;
-ms-transition: height .4s linear;
transition: height .4s linear;
}
#myDiv:hover {
height:100px; /* desired height */
}
HTML:
<div id="myDiv">
Hello World!
</div>
お役に立てれば。
編集:申し訳ありませんが、その高さを維持するために必要だとは思いませんでした。そのためには、onmouseout (または別のイベント リスナー) のようなものを使用する必要がありますが、最終的には Javascript を使用します。
于 2012-10-06T20:49:39.413 に答える
1
次のようなことができます:-
HTML:
<div class="divAnimate" onmouseout="this.className='setHeight'">Div Height Animation</div>
CSS:
.divAnimate {
border: 1px solid;
}
.divAnimate:hover {
height: 200px;
}
.setHeight {
height: 200px;
border: 1px solid;
}
ライブデモを参照
于 2012-10-06T20:50:02.730 に答える
1
はい、これは CSS3 だけで可能ですが、トランジションの終了状態を維持するために CSS3 アニメーション キーフレームが必要なため、Safari/Chrome と最近のバージョンの Opera、Mozilla Firefox、および IE10 でのみ機能します。
于 2012-10-06T21:17:51.487 に答える