• css

cssでマウスをおいた時に動かそう

はじめに

リンクなどをマウスのポインターを乗せた時に文字が動いたり背景がゆっくり変わったりする物をよくみるのですが、どうやって作っているんですかね・・
それはマウスをおいた時の動作 hover を行った時に文字を動かしたり、背景を変えたりするクラスをjqueryで付与したり、cssで動きをつけたりしていますね。
cssでもマウスをhoverした時にアニメーションをつけることができるんですね。
cssでもアニメーションをつけることは可能ですね。今回は簡単なサンプルをふまえながらcssでアニメーションをつけていきましょう。

CSSでhoverした時に動かそう

今回は、cssでリンクをhover(マウスをリンクの上におく動作)した時に、アニメーションをつける方法について説明していきたいと思います。考え方としましては、hover前とhover後の動作にdelayをかけることで視覚的にアニメーションが発生しているように見えるように行います。

サンプルコード

HTML

<!DOCTYPE html>
<head>
  <title>cssでアニメーションをしよう</title>
  <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<a class="link_sample1" href="">リンクの背景がゆっくり変化します。</a>
	<a class="link_sample2" href="">リンクの文字が1文字分だけゆっくりずれます。</a>
	<a class="link_sample3" href="">リンクの文字が横回転します。</a>
</body>
</html>

CSS

.link_sample1{
 transition:1s all;
}
.link_sample1:hover{
 transition:1s all;
 background:#ccc;
}
.link_sample2{
 transition:1s all;
}
.link_sample2:hover{
 padding-left:1em;
 transition:1s all;
}
.link_sample3{
 transition:1s all;
 display:inline-block;
}
.link_sample3:hover{
 transform:rotateY(360deg);
 transition:1s all;
}

サンプルコードの実装例

マウスのカーソルを合わせるとリンクの背景がゆっくり変化します。
リンクの背景がゆっくり変化します。

マウスのカーソルを合わせるとリンクの文字が1文字ゆっくり移動します。
リンクの文字が1文字分だけゆっくりずれます。

マウスのカーソルを合わせるとリンクの文字が横回転します。。
リンクの文字が横回転します。

上記のように様々なアニメーションをcssで行うことができます。
ぜひ試して見てください。

関連記事

  1. 特定の番号の要素のcssだけ変更してみよう

  2. 画像をhoverして時にズームさせるcssを書こう

  3. hoverした時に文字の間隔をつかってアニメーションしてみよう

  4. CSSを使って画面サイズに対応しよう

  5. リストの前の丸をcssで消してみよう

  6. CSSで文字の間隔を変更してみた

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930  
Translate »