CSS3のtransitionプロパティで複数のトランジションを同時に実行する方法
CSS3では、transitionプロパティを使うことで、要素に滑らかなアニメーション効果を簡単に追加できます。このプロパティはショートハンド(省略記法)として機能し、トランジションの対象となるプロパティ名、所要時間(duration)、タイミング関数(timing function)、遅延時間(delay)をたった1行でまとめて指定できるのが特徴です。
さらに、複数のプロパティに対してトランジションを適用したい場合も、各設定をカンマ(,)で区切って列挙するだけで実現できます。以下は、CSS3で複数のトランジションを同時に実行するサンプルコードです。
サンプルコード
<!DOCTYPE html>
<html>
<head>
<style>
.container div {
width: 300px;
height: 100px;
border-radius: 1px;
background: rgb(25, 0, 255);
border: 2px solid red;
transition: width 2s, border-radius 2s;
}
.container:hover div {
width: 100px;
border-radius: 50%;
}
</style>
</head>
<body>
<h1>複数トランジションのサンプル</h1>
<div class="container">
<div></div>
</div>
<h2>
上のdivにマウスカーソルを合わせると、幅が縮まり円形に変化します
</h2>
</body>
</html>コードのポイント
- transition: width 2s, border-radius 2s; — 「幅(width)」と「角丸(border-radius)」という2つのプロパティに対して、それぞれ2秒かけて変化するトランジションを設定しています。
- :hover 疑似クラス — マウスカーソルが要素に重なったタイミングで、幅を100pxまで縮小すると同時に、border-radiusを50%に変更することで要素を円形へと変形させています。
実行結果
上記のコードを実行すると、次のような表示になります。青色の長方形の上にマウスカーソルを乗せると、幅が徐々に縮まりながら角が丸くなり、最終的に円形へとスムーズにアニメーションします。


-
CSS3のtransitionプロパティで複数のトランジションを同時に実行する方法
CSS3では、transitionプロパティを使うことで、要素に滑らかなアニメーション効果を簡単に追加できます。このプロパティはショートハンド(省略記法)として機能し、トランジションの対象となるプロパティ名、所要時間(duration)、タイミング関数(timing function)、遅延時間(delay)をたった1行でまとめて指定できるのが特徴です。さらに、複数のプロパティに対してトランジションを適用したい場合も、各設定をカンマ(,)で区切って列挙するだけで実現できます。以下は、CSS3で複数のトランジションを同時に実行するサンプルコードです。サンプルコード<!DOCTYPE htm
-
CSS3フレキシブルボックスレイアウト(Flexbox)の基本と使い方
CSS3には「フレキシブルボックス(Flexible Box)」と呼ばれるレイアウトモードが用意されており、一般的にFlexbox(フレックスボックス)として知られています。Flexboxを活用すれば、複雑なWebアプリケーションやWebページのレイアウトも、従来のfloatやpositionを使った手法に比べて、はるかに簡単かつ柔軟に構築できます。Flexboxは「コンテナ(親要素)」と「フレックスアイテム(子要素)」で構成されます。コンテナに指定できる主なプロパティは以下のとおりです。flex-direction:アイテムが並ぶ方向(主軸の向き)を指定しますflex-wrap:アイテムの折