CSS【 中級編02 】
こんにちは。
今回も、CSSについて学んだことを共有していきます。
インラインブロック
ブロック要素とインライン要素の特徴を併せ持つインラインブロック要素というものがあります。
インラインブロック要素はインライン要素と同様に横に並びますが、ブロック要素のように幅や高さをもちます。
<a>タグなどは初期状態でインライン要素になっていますが、displayプロパティを使うと、インラインブロック要素に変更することができます。
displayプロパティはblock(ブロック要素), inline-block(インラインブロック要素), inline(インライン要素)を指定することができます。
<a>タグをクリックできる範囲
<a>タグはインライン要素なので、中身のテキストの部分しか大きさを持ちません。その結果、<a>タグをクリックできる範囲はテキストの部分だけになってしまいます。
<a>タグをブロック要素にすると、大きさが親要素いっぱいに広がるので、全体をクリックできるようになります。
レイアウトを整えよう
1.カーソルが乗ったとき
カーソルが乗ったときの状態をhoverと言います。
CSSで、セレクタ:hoverとすることで、カーソルが乗ったときのCSSを指定することができます。
2.角を丸める
角を丸めるにはborder-radiusプロパティを用います。
数字が大きいほど角が丸くなります。
3.アニメーション
transitionを使うとアニメーションをつけることができます。
「変化の対象」や、「変化にかかる時間」などを指定できます。
「変化の対象」にはcolorなどのプロパティを指定しますが、allを指定すると全てのプロパティに適用出来ます。
transitionは多くの場合hoverと組み合わせて使います。
4.影をつけよう
ボックスに影を付けるためにはbox-shadowプロパティを用います。
上の図のように「影の位置」と「影の色」を指定します。
5.クリック時に変化をつけよう
セレクタにactiveを用いることで、要素がクリックされている間だけCSSを適用することができます。
セレクタ:activeというように指定します。
クリック時に、以下の処理をすることによって、ボタンがへこんで見えるようになります。
・box-shadowをnoneにする
・position: relative;とtopによって影の分だけ位置を下げる
6.要素同士を重ねて表示する
HTMLの要素同士は通常重なって表示されることはありませんが、position: absolute;を使うと、要素同士を重ねて表示することが出来ます。
サイト全体の左上部分を基準とし、そこからの位置をtopとleftを用いて指定します。また、rightやbottomを併用することも可能です。
position: absolute;の基準位置はサイト全体の左上部分ですが、この基準位置は変更することが出来ます。
基準としたい親要素にposition: relative;と指定すると、その要素の左上部分が基準位置となります。
7.画面上に要素を固定する
position: fixed;を使うと、常に要素を画面上の指定した位置に固定させておくことができます。
位置は、top、left、right、bottomを使って指定します。
8.要素の重なりの順序を指定する
z-indexプロパティは、要素の重なりの順序を指定する際に使用します。
z-indexは整数値で指定し、値が大きいほど上に表示されます。
z-indexプロパティは必ずpositionプロパティと併用する必要があるので、注意しましょう。
まとめ
前回と今回の記事でプロゲートで学べるCSSの中級編についてまとめていきました。覚えることが多いので後から見返した時にできるだけ分かりやすくなるようにまとめました。
今後もCSSについて学んだことを随時まとめていこうと思います。
お楽しみに!