エフェクト

mask-position

mask-position は、マスクの画像を置く位置を指定します。書き方は background-position と同じで、キーワード・長さ・パーセントで横と縦の順に書きます。

構文

<position>#

プレビュー

プリセット
右下の角をドラッグするとサイズを変えられます

コード

.box {
  background: linear-gradient(
    135deg,
    #88d1c7,
    #77a7d7,
    #eaac3a
  );
  mask-image: url(/mask-star.svg);
  mask-repeat: no-repeat;
  mask-position: 25% 75%;
}

コントロール

四角の中をクリック・ドラッグして中心を動かせます

横の位置
縦の位置

解説

パーセントは「同じ点」を合わせる

% は、画像の X% の点を、領域の X% の点に合わせるという意味です。0% で左端どうし、100% で右端どうしがそろいます。長さ(20px など)は、画像の左上の角を領域の左上からずらす量です。

書き方

  • 1 つだけ書くと、もう片方は center になります。
  • キーワードどうしなら順不同です(top right と right top は同じ)。
  • right 20px bottom 10px のように、キーワードのあとに長さを続けると、その辺からの距離になります(このページのコントロールでは扱っていませんが、コードには書けます)。

気をつけること

  • 初期値は 0% 0%(左上)です。画像をくり返す設定のときは、ここで決めた位置が並びの基準になります。
  • 位置の基準になる領域は mask-origin で決まり、初期値は border の外側までです。padding までを基準にする背景とは違うので、枠線のある要素では同じ値でも位置がずれます。
  • no-repeat のときは、画像の外では要素が見えなくなります。位置を動かすと、見える部分が動きます。
  • -webkit- の付かない名前に対応したのは、Chrome・Edge は 120、Safari は 15.4 からです。それより古いブラウザには -webkit-mask-position と書きます。
  • このページのプレビューでは、星の画像(96×96)をくり返さない設定でマスクにしています。

コメント