ベンダー プレフィックス: ブラウザ エンジン プレフィックスが必要なのはなぜですか?

ベンダー プレフィックス: ブラウザ エンジン プレフィックスが必要なのはなぜですか?

ベンダープレフィックスとは何ですか?

ベンダー プレフィックス - ブラウザー エンジン プレフィックスは、CSS プロパティの前に置かれる小さな文字列で、そのプロパティが特定のブラウザー レンダリング エンジンでのみ認識され、有効になることを保証します。 Google Chrome と Safari は WebKit レンダリング エンジンを使用し、Firefox は Gecko エンジン、Internet Explorer は Trident エンジンを使用し、Opera は以前は Presto エンジンを使用していましたが、後に WebKit エンジンに切り替えました。ブラウザ エンジンは通常、他のエンジンのプレフィックスでマークされた CSS プロパティを実装しません。ただし、WebKit ベースのモバイル ブラウザは非常に人気があるため、Firefox などのブラウザもモバイル バージョンで WebKit エンジン プレフィックスでマークされたいくつかの CSS プロパティを実装しています。

ブラウザ エンジン プレフィックス (ベンダー プレフィックス) とは何ですか?

-moz- /* Firefox および Mozilla ブラウザ エンジンを使用するその他のブラウザ*/
-webkit- /* Safari、Google Chrome、その他の Webkit エンジンを使用するブラウザ*/
-o- /* Opera ブラウザ (初期) */
-ms- /* Internet Explorer (必ずしもそうとは限りません) */

ベンダープレフィックスが必要なのはなぜですか?

これらのブラウザ エンジン プレフィックス (ベンダー プレフィックス) は、主にさまざまなブラウザで新しい CSS3 プロパティ機能を実験またはテストするために使用されます。それは次の3つの点に要約できます。

  • まだ標準化されていない、あるいは今後も標準化されない可能性のあるCSSプロパティを試してみる
  • 新しい標準 CSS3 プロパティの実験的な実装
  • CSS3 の新しいプロパティに対する同等の意味論のパーソナライズされた実装

これらのプレフィックスがすべて必要なわけではありませんが、通常は追加しても問題はありません。プレフィックスなしのバージョンを最後の行に置くことを忘れないでください。

-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-境界線の半径: 10px;
境界線の半径: 10px;

いくつかの新しい CSS3 プロパティは長い間実験的なものであり、一部のブラウザではすでにこれらのプロパティのプレフィックスの使用が停止されています。 Border-radius プロパティは非常に典型的な例です。最新のブラウザはプレフィックスなしの Border-radius 属性をサポートしています。

ベンダープレフィックスを必要とする CSS3 プロパティ

ベンダー プレフィックスを追加する必要がある主なプロパティは次のとおりです。

  • @キーフレーム
  • 移動と変換のプロパティ (transition-property、transition-duration、transition-timing-function、transition-delay)
  • アニメーションのプロパティ (animation-name、animation-duration、animation-timing-function、animation-delay)
  • 境界線の半径
  • ボックスシャドウ
  • 背面の可視性
  • 列のプロパティ
  • フレックスプロパティ
  • 遠近法プロパティ

リストはこれで終わりではなく、今後も増え続ける予定です。

ベンダープレフィックスの使用

ベンダー プレフィックスが必要な場合は、プレフィックスを最初に配置し、標準プレフィックスを最後に配置するのが最適です。例えば:

/* シンプルなプロパティ */
.myClass{
	-webkit アニメーション名: fadeIn;
	-moz-アニメーション名: fadeIn;
	-o-アニメーション名: フェードイン;
	-ms-アニメーション名: フェードイン;
	animation-name: fadeIn; /* プレフィックスなしのものを最後に置く*/
}
/* 複雑な属性キーフレーム */
@-webkit-keyframes フェードイン {
	0% { 不透明度: 0; } 100% { 不透明度: 0; }
}
@-moz-keyframes フェードイン {
	0% { 不透明度: 0; } 100% { 不透明度: 0; }
}
@-o-keyframes フェードイン {
	0% { 不透明度: 0; } 100% { 不透明度: 0; }
}
@-ms-keyframes フェードイン {
	0% { 不透明度: 0; } 100% { 不透明度: 0; }
}
/* プレフィックスのないものについては最後に置く */
@keyframes フェードイン {
	0% { 不透明度: 0; } 100% { 不透明度: 0; }
}

インターネットエクスプローラー

Internet Explorer 9 は、CSS3 の新しいプロパティの多く (すべてではありません) をサポートしています。たとえば、IE ではベンダー プレフィックスなしで border-radius プロパティを使用することもできます。

IE6 から IE8 は CSS3 をサポートしていません。残念ながら、これらの低バージョンのブラウザを使用しているユーザーはまだ多くいます。したがって、CSS3 をサポートしていなくても、Web サイトのデザインが適切に表示されるかどうかを確認してください。 border-radius、linear-gradient、box-shadow などの一部のプロパティについては、CSS3Pie を使用できます。これは、Web サイトのルート ディレクトリに配置する小さなファイルで、これにより、ページが IE6 および IE8 でこれらのプロパティをサポートするようになります。

<<:  CSS で隠し要素を実現する 7 つの興味深い方法

>>:  mysqlはコンマに基づいてデータ行を複数の行に分割します

推薦する

CSS でよく使用されるフォントサイズ、フォント単位、行の高さの詳細な説明

px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

効率的なMySQLページングの詳細な説明

序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...

メモリ構成が過剰でMySQLが起動できない問題の解決方法

問題の説明MySQL の起動時にエラーが報告されます。エラー ログを確認してください。 [エラー] ...

MySQL 8.0.11 の新機能の紹介

MySQL 8.0 for Windows v8.0.11 公式無料バージョン 64 ビット1. デ...

まだ*を選択しますか?

アプリケーションが牛のように遅い理由は数多くあります。ネットワーク、システム アーキテクチャ、または...

echarts ワードクラウドチャートを使用した Vue の実践記録

echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...

ReactはExcelファイルのインポートとエクスポートを実装します

目次プレゼンテーション層ビジネスレイヤーコアプラグイン xlsx ExcelインポートExcelエク...

Vue+element+springboot でファイルダウンロードの進行状況バー表示機能を実装する例

目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...

我々は自らの力でIE6を絶滅に追い込んでいる

実際、IE6 が本当にいつ消滅するのか私たちは毎日疑問に思っていますが、2001 年のリリース以来、...

MySQL ストアド関数(カスタム関数)の定義と使用方法の詳細な説明

ストアド関数ストアド関数とは: SQL コードの一部をカプセル化し、特定の関数を完了して、結果を返し...

Linuxのファイル操作の知識ポイントを詳しく解説

ファイル操作に関連するシステムコール作成するint creat(const char *ファイル名,...

Linux サーバーに SSH パスワードなしでログインする方法

テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ロ...

Linux カーネルの探究: Kconfig の秘密

Linux 構成/ビルド システムがどのように機能するかを深く理解します。 Linux カーネル構成...

MySQL の計画タスクとイベント スケジュール例の分析

この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...