[CSS] トランジション(transition)
こんにちは。明月です。
CSSのトランジション(transition)とは属性変更時に変更の速度を調節すること、変更のサイクルを設定することだと思われます。
例えば、「div」タグの背景色を黄色にしてマウスを置く(hover)と緑色になることに設定すると思うと実際にタグで設定するとあっというまで処理されますね。
例
マウスを上に置いてください。
でもユーザによってこの変更することをスムースにアニメーションのようなアクションを与えたい人が言うと思います。
その時にトランジション(transition)を利用すると設定ができます。
例
マウスを上に置いてください。
<!DOCTYPE html>
<html>
<head></head>
<body>
<div>マウスを上に置いてください。</div>
</body>
</html>
div {
background-color: yellow;
transition-property:background-color;
transition-duration:2s;
transition-timing-function:ease-out;
transition-delay:50ms
}
div:hover {
background-color: green;
transition: background-color 2s ease-out 50ms;
}
トランジションは4つのスタイル属性があります。4つと言ってもdelayの属性以外にはすべて設定しなければ作動しないですね。
「transition-property」はトランジションの属性を与えるCSSスタイル名です。上の例では「background-color」に効果を与えますね。
「transition-duration」は変換する時間です。上の例とは黄色から緑色に変換することで2秒かかりますということですね。
「transition-timing-function」は変換のタイプですが、「ease-out」は初めは遅くて早く変換するタイプ、「ease-in」は初めは早くて遅く変換するタイプ、「ease-in-out」は初めは早くて遅くなるがまた、早く変換するタイプ、「linear」は一定な速度で変換するタイプ、「cubic-bezier(n,n,n,n)」は直接に変換速度を指定するタイプがあります。
「transition-delay」は初めから変換ではなく、指定した時間の後で変換することです。
上のことは黄色から緑色に変換することで0.5秒あと2秒間に初めは遅く早く変換するスタイルです。
その以外にテキストにもアクションを上げることが出来ます。
<!DOCTYPE html>
<html>
<head>
<style>
textarea {
width: 100%;
height: 50px;
transition-property: height;
transition-duration: 1s;
transition-timing-function: ease-out;
}
textarea: focus {
height: 200px;
transition-property: height;
transition-duration: 5s;
transition-timing-function: ease-in-out;
}
</style>
</head>
<body>
<textarea placeholder="please input text!"></textarea>
</body>
</html>
例
実際にウェブサービスでも、色々アクションや広告などのフォーカスを与え視線を集めるようにする方法でよく使っているスタイプです。
でも、逆にウェブページでトランジションが多ければ集中度を落とす逆効果もあります。
- [Javascript] Node.jsをインストールしてReactを使う方法2022/03/23 18:01:34
- [CSS] ブラウザから開発する方法 (developer mode)2019/12/25 07:54:31
- [CSS] 色スタイル、グラデーション2019/12/24 07:37:22
- [CSS] アニメーション (animation)2019/12/20 20:51:38
- [CSS] トランスフォーム (transform)2019/12/19 13:00:26
- [CSS] トランジション(transition)2019/12/18 20:33:57
- [CSS] Columnスタイル2019/12/17 19:52:56
- [CSS] 整列スタイル (float)2019/12/17 00:08:54
- [CSS] 位置(position),表示(display)スタイル2019/12/13 20:08:50
- [CSS] border(枠)、余白スタイル - border, margin, padding2019/12/12 20:16:43
- [CSS] 文字スタイル2019/12/11 21:13:22
- [CSS] その他の疑似選択子 - link, visited, target, enabled, disabled, not, active, hover, focus2019/12/10 07:31:28
- [CSS] 疑似要素選択子 - fist-line, first-letter, before, after2019/12/09 07:28:27
- check2024/04/10 19:03:53
- [Java] 64.Spring bootとReactを連結する方法(Buildする方法)2022/03/25 21:02:18
- [Javascript] Node.jsをインストールしてReactを使う方法2022/03/23 18:01:34
- [Java] 63. Spring bootでcronスケジューラとComponentアノテーション2022/03/16 18:57:30
- [Java] 62. Spring bootでWeb-Filterを設定する方法(Spring Security)2022/03/15 22:16:37
- [Java] JWT(Json Web Token)を発行、確認する方法2022/03/14 19:12:58
- [Java] 61. Spring bootでRedisデータベースを利用してセッションクラスタリング設定する方法2022/03/01 18:20:52
- [Java] 60. Spring bootでApacheの連結とロードバランシングを設定する方法2022/02/28 18:45:48
- [Java] 59. Spring bootのJPAでEntityManagerを使い方2022/02/25 18:27:48
- [Java] 58. EclipseでSpring bootのJPAを設定する方法2022/02/23 18:11:10
- [Java] 57. EclipseでSpring bootを設定する方法2022/02/22 19:04:49
- [Python] Redisデータベースに接続して使い方2022/02/21 18:23:49
- [Java] Redisデータベースを接続して使い方(Jedisライブラリ)2022/02/16 18:13:17
- [C#] Redisのデータベースを接続して使い方2022/02/15 18:46:09
- [CentOS] Redisデータベースをインストールする方法とコマンドを使い方2022/02/14 18:33:07