7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

実装が楽になる!ちょっと便利なCSS3選

Posted at

はじめに

最近はIEサポートが終了したことや各種ブラウザのアップデートにより使用できるCSSプロパティが増えてきました。
その中でも実際に使ってみて便利だと思ったCSS3種類をご紹介します!

1. 上下中央配置

今まではFlex boxを使って3行で書いていましたが、Gridなら2行で書くことができます。
ここまでくると1行で書けるようになるのもそう遠くはないでしょう。(期待)

Flex box

.flex {
    display: flex;
    align-items: center;
    justify-content: center;
}

Grid layout

.grid {
    display: grid;
    place-items: center;
}

2. スムーススクロール

JavaScriptで実装することが多かったスクロール設定をなんと1行で実装することができます。

html {
    scroll-behavior: smooth;
}

注意
固定ヘッダーがある場合はアンカーリンクのスクロール時にヘッダーと要素が重なってしまう恐れがあります。
その場合はscroll-margin-topを使って固定要素分のマージンを設けてあげましょう。

scroll-margin-top

アンカーリンク設定要素に指定する。

.anchor {
    scroll-margin-top: 50px;
}

3. アスペクト比

padding topの呪文で実装してたアスペクト比もaspect-ratioを使えば直感的に実装できます。
しかもレイアウトシフトを防ぐこともできる。

padding-top法

.aspect {
    width: 100%;
    padding-top: 56.25%;
}

aspect-ratio

.aspect {
    width: 100%;
    aspect-ratio: 16 / 9;
}

おまけ

CSSネスト

SassのようにCSSを入れ子にして実装することができます。
今時Sass使うから必要ないだろと思いましたが、CSSしか使えないプロジェクトで使うことができるので地味に便利です。
ただ対応ブラウザがまだ少ないので実務で使えるのはもう少し先でしょう。

.block {
  .text {
    color: #000;
  }
}
7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?