これは純粋な CSS ではクリックを認識することができません。:hover とトランジションを使用して実行できますが、これは JavaScript を使用しない場合とほぼ同じです。
.hover
{
cursor: pointer;
position: relative;
z-index: 1;
}
.slide
{
position: absolute;
top: 0;
z-index: -1;
-webkit-transition: top 1s;
-moz-transition: top 1s;
}
.hover:hover + .slide
{
top: 50px;
}
http://jsfiddle.net/Kyle_/MaMu9/1/
ただし、トランジションは CSS3 であり、IE<9 およびより優れたブラウザーの古いバージョンでは機能しないことに注意してください。
編集: CSS の :focus プロパティを使用して別の回答が投稿された後: 1 つの注意点があります: 要素の外側をクリックしてスライドさせてスライドさせる必要があります。それ以外の場合は正常に動作します。
これが機能するには、要素に tabindex='1' (または要素がドキュメント内のどこにあるかに応じて意味のある数字) が必要であることに注意してください。
.hover:focus + .slide
{
top: 50px;
-webkit-transition: top 1s;
}
http://jsfiddle.net/Kyle_Sevenoaks/MaMu9/1/