Newly available 条件付きOK。主要ブラウザで対応済みだが、古いバージョンでは未対応の場合がある。フォールバックを検討。

概要

paint-orderは、要素の描画レイヤーの順序を制御するCSSプロパティです。stroke、fill、markersの描画順を変更でき、デフォルトではfill→stroke→markersの順で描画されます。テキストにストロークを適用する際、ストロークがテキストを覆い隠す問題を解決するために特に有用で、paint-order: strokeとすることでストロークをフィルの下に描画できます。

対応ブラウザ

デスクトップ

Chrome 123+
Edge 123+
Safari 12+
Firefox 66+

モバイル

Chrome Android 123+
Safari iOS 12+
Firefox Android 66+

基本構文

CSS
.outlined-text {
  -webkit-text-stroke: 3px black;
  paint-order: stroke fill;
  color: white;
}

実務での使いどころ

  • テキストアウトラインの最適化

    ストロークをフィルの下に描画することで、太いアウトラインがテキストの可読性を損なわないようにします。

注意点

  • マーカーの描画順序はSVGコンテンツでのみ効果があり、通常のHTML要素には影響しません。

アクセシビリティ

  • 描画順序の変更はビジュアル表現のみに影響し、テキストの読み上げ順序には影響しません。