渋谷の片隅で吠える

エンジニアをしています。主にscalaとjavaを書いています。

bootstrap4がリリースされたので変更をまとめてみた

New!

  • LESS -> Sassに より高速な読み込みとシンプルでデバイスの違いを問題としないCSSの作りを目指した結果のようです。

また実際には2パターンのSass(LibsassとRuby Sass)が内蔵されているのでコンパイル時に好きな方が選べるようになりました。

  • グリッドシステムの変更 ブレイクポイントが4箇所に増えました。 Bootstrap3の時には切り捨てられてしまっていた768px以下の設定をひろうことが可能になりました。

より小さい画面のデバイスへの対応の結果で モバイルを意識した設計に変更されています。

またグリッドの単位がpxからremに変わっているので注意が必要です。

  • FireFoxへの対応 これまで対応してこなかったFireFoxへの対応がされるようになりました。 Flexboxを使用すると、既存のコンポーネントがfloatレイアウトからflexレイアウトへと移行されるそうです。

ただしこの機能は通常だとOFFなので切り替えをする必要があります。

グリッドの中に画像を入れ込むような時にはcardsを利用すれば良さそうです。 - リセットCSS リセットCSSが変更されたらしいですが大幅な改善があったという感じではありません。

追加されたSassファイルがbootstrap3の時のscaffolding.lessとほぼ同じ機能を有しています。

  • カスタマイズオプションの充実
  • remを採用 フォントやコンポーネントの単位がpxからremに変更になりました。 これはIEのサポート終了が大きな要因と考えられます。

またデフォルトのフォントサイズが14px -> 16pxへ変更になったため少し文字が大きく感じます。

  • ES6への刷新 javascript記法がES6へ全面移行しbabelでトランスパイルするようになっています。

バージョンアップに際しての所感

今回のバージョンアップの肝は読み込みの速さにこだわった点とマルチデバイスへの対応にあるのではないでしょうか。

かねてよりバランスを撮るのが難しい存在だったIEのサポートを切ったことでより幅の広いサポートが可能になったのではないかと思います。

またES6の導入やbabelでのトランスパイルを前提とした作りでより一層UIの構築がリッチになる予感です。

おまけ

remとはどんな単位なのか

remはCSS3で導入された単位です。 root emの略でルート(html)のサイズの継承をするemということlistの中の文字だけサイズがずれるなんてことが起きにくいのがいいですね!