LoginSignup
3
1

More than 5 years have passed since last update.

レガシーなCSSを淘汰する

Posted at

IEに恨みがある人のための記事です。

レガシーなCSSとは何か

  • 大規模なのにプリプロセッサ、ポストプロセッサを使っていない
  • float
  • <!--[if lt IE 9]>
  • IE対応
  • positionで2カラムレイアウト
  • 色が管理されていない
  • 1ファイルがでかい
  • 命名規則がない
  • !important地獄
  • レイアウトにpxが入っている

 どうやって淘汰するか

プリプロセッサ、ポストプロセッサ

  • とりあえず導入する
  • CSSファイルはそのままSCSSファイルに移動できるのでとりあえず移動する
  • PostCSSは.cssのままなのでとりあえずautoprefixerだけ入れる

float

  • flex使う
  • 新しいbootstrapを使う

<!--[if lt IE 9]>

  • IE11以前への対応をやめる
  • 最新ブラウザへ誘導する
  • IE11はautoprefixerで対応する

positionで2カラムレイアウト

  • divをflexで重なる位置に置く => positionに入っている内容を移動する => positionを消す
  • flexでレイアウトする

色が管理されていない

  • SCSSなどで変数を使う
  • こんな感じにする。$color-gray-e1: #e1e1e1;
  • デザインの段階で色数を絞る

1ファイルがでかい

  • とりあえず雑に分割する
  • 分割しまくってあとで統合する

命名規則がない

  • BEM使う

!important地獄

  • 別ファイルを作って!importantが付いているものをひたすら入れる
  • 出現順に依存している場合が多いので、上から順に移動する
  • 登場するページを探す => 新規クラスを作って!importantを消す

レイアウトにpxが入っている

  • %, vw, vhにする

まとめ

レガシーなCSSは見ているだけでストレスがたまるのでなんとかしたいですね。

3
1
1

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
3
1