コンテンツにスキップ

Autoprefixer

出典: フリー教科書『ウィキブックス(Wikibooks)』

Autoprefixerとは

[編集]

概要

[編集]

Autoprefixerは、CSSベンダープレフィックスを自動的に追加するPostCSSプラグインです。ブラウザの互換性を確保するため、最新のCSS仕様を古いブラウザでも正しく動作させることができます。

主な特徴

[編集]
  • 最新のブラウザデータに基づくプレフィックス追加
  • 設定可能なブラウザサポート範囲
  • 自動的かつインテリジェントなベンダープレフィックスの管理

インストール

[編集]

npm経由

[編集]
npm install autoprefixer postcss

設定例

[編集]
postcss.config.js
module.exports = {
  plugins: [
    require('autoprefixer')
  ]
}

使用方法

[編集]

基本的な使用例

[編集]
入力CSS
.example {
  display: flex;
  transition: all 1s;
}
Autoprefixer後
.example {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 1s;
  transition: all 1s;
}

設定オプション

[編集]

ブラウザ指定

[編集]
autoprefixer({
  browsers: ['> 1%', 'last 2 versions', 'not dead']
})

ブラウザバージョンの指定

[編集]
  • 'last 2 versions': 各ブラウザの最新2バージョン
  • '> 1%': 世界シェア1%以上のブラウザ
  • 'not dead': サポート終了していないブラウザ

高度な機能

[編集]

グリッドレイアウトのサポート

[編集]
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

フレックスボックスの自動プレフィックス

[編集]
.flex-container {
  display: flex;
  justify-content: space-between;
}

よくある問題と解決策

[編集]

ブラウザサポート範囲の調整

[編集]
  • .browserslistrcファイルでグローバル設定可能
  • プロジェクトのpackage.jsonで設定可能
{
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

パフォーマンスと最適化

[編集]

キャッシングの有効化

[編集]
autoprefixer({
  cascade: false, // 整形スタイルの無効化
  remove: false  // 不要なプレフィックスの削除を抑制
})

セキュリティと注意点

[編集]

注意すべき点

[編集]
  • すべてのCSSプロパティに対応しているわけではない
  • 最新のブラウザデータを常に参照
  • パフォーマンスへの若干の影響

まとめ

[編集]

Autoprefixerは、CSS互換性の課題を自動的に解決する強力なツールです。適切に設定することで、クロスブラウザ対応を簡単に実現できます。