CSSのアウトプット


cssについて学んだことまとめ

初学者がCSSを学ぶ上で、最初に使い方を悩むであろうものについてまとめてみる

aタグ、buttonタグで使われる状態を表現するCSS

:link
:visited
:hover
:active
:focus

LVHAFの順番で記述の優先度を覚える
:link-:visited-:hover-:active-:focus

:link
通常の状態での表現

:visited
既にクリックされている(訪問されている)リンクの状態

:hover
カーソルをリンクの上に置いた時の状態

:active
ボタンが押されている間だけの状態
第1ボタン、つまり右手用のマウスではふつう一番左のボタンにのみ適用すべき

:focus
タッチデバイスでタップした時、tabキーで移動した時などの状態
基本的にはform関連、ユーザビリティ的にある方がよい

::before,::after

HTMLには書かれていない要素もどきをCSSで作ることができる

::beforeは要素の直前に要素もどきが入る

::afterは要素の直後に要素もどきが入る

具体的な使い方

出力結果:吾輩は、猫である

<h1>猫である</h1>

h1::before {
  content: ‘吾輩は、’;
}

メリット

・SEOを気にせずにユーザーのための自由な表現ができる
(UIに出したいけどSEOとして不要な要素をCSSから画面に当てる)
・アイコンやフォントを疑似要素で表示できる
・position: absoluteで絶対配置にして、自分の好きな位置に配置が可能

具体的な使い方

ブログとかのカード要素の右上のラベルとかに使われている

ブログ:まじまじパーティーより引用

::backdrop-filter(IE未対応)

背景にfilterを使える

具体的な使い方

背景のすりガラスの表現等

使えるコード種類

コード 意味
blur ぼかし(pxで指定)
brightness 明るさ(単位なし)
contrast コントラスト(%で指定)
grayscale モノトーン(%で指定)
invert 階調反転(%で指定)
hue-rotate 色相(degで指定)
opacity 不透明度(%で指定)
sepia セピア調(%で指定)
saturate 彩度(%で指定)
drop-shadow ドロップシャドウ(pxで指定)

メリット

1つの画像の別々の部分に、別々のフィルターを使える(表現性が豊富)
内側の要素に影響がない
::filterとコーディング法は同じ

デメリット

対応ブラウザが少なく、実験状態

calc

css上で計算ができる

具体的な使い方

横幅が1/6になる

.hoge{
     width: calc(100% / 6);
}

メリット

calc() はマージン設定を持つボックス配置、フォーム要素のサイズ変更等