ブラウザでCSSとSVGをマスキングします
マスキングは、残りを隠しながら画面上に要素または画像の選択した部分を表示できる手法です。 Web開発者は、マスクプロパティとSVGマスク要素を介してブラウザでこの手法を使用できます。これらの機能により、画像編集ソフトウェアを使用せずに、ブラウザ内の画像やその他の要素にマスキング効果を表示できます。 この記事では、CSSとSVGマスキング機能を実行していることを示し、現在のブラウザのサポートの問題に関する情報を必ず含めるようにします。
執筆時点では、ほとんどのコードサンプルはWebKitブラウザーでのみ機能しますが、SVGベースのマスクはより広いブラウザのサポートを楽しんでいるようです。したがって、例を試してみたい場合は、ChromeのようなWebKitブラウザを使用することをお勧めします。キーテイクアウト
CSSおよびSVGでのマスキングにより、CSS「Mask」プロパティまたはSVG `
`要素のいずれかを使用して、要素の選択的な可視性が可能になります。
CSSマスキングは画像、勾配、またはSVG参照を利用できますが、SVGマスキングはベクターグラフィックスでよりコントロールを提供し、色とグラデーションマスクをサポートします。- ブラウザのサポートはさまざまです。CSSマスクは主にWebKitブラウザーでサポートされていますが、SVGマスクはFirefoxやInternet Explorerなどの最新のブラウザ全体でより広い互換性を持っています。
「マスクイメージ」、「マスクモード」、「マスクリピート」、「マスクポジション」、「マスクサイズ」などのマスクプロパティは、個別に設定するか、「マスク」プロパティに組み合わせることができます。便利なため。
-
アニメーションやテキストをマスクとして使用するなどの高度なマスキング効果を、CSSとSVGの両方で実現でき、Webデザインの柔軟性と創造性を高めます。
- クリッピングまたはマスキングを使用して、ウェブ上のマスキング効果を達成できます。
- クリッピングには、画像や要素の上に、円やポリゴンなどの閉じたベクトル形状を敷設することが含まれます。形状の背後にある画像の部分の部分は表示されますが、形状の境界の外側の部分は隠されます。シェイプの境界はクリップパスと呼ばれ、クリップパスプロパティを使用して作成します。 マスキングは、PNG画像、CSSグラデーション、またはSVG要素を使用して行われ、ページ上の画像または他の要素の一部を非表示にします。 CSS Maskプロパティを使用してこれを達成できます この記事では、CSS MaskプロパティとSVG
- CSSマスクプロパティ
- マスクは、個々のプロパティ全体のCSS速記のプロパティです。 それらのいくつかをより詳細に詳しく見てみましょう。
マスクイメージプロパティ
マスクイメージプロパティを使用して、要素のマスクレイヤー画像を設定できます。
値なしは、まったく値を設定することと同じではありません。それどころか、それはまだ透明な黒の画像層としてカウントされます。
Mask-ImageをURL値に設定できます。これは、PNG画像ファイルへのパス、SVGファイル、またはSVG
/* masking with two comma-separated values */ .masked-element { mask-image: url(mask.png), none; } /* using external svg graphic as mask */ .masked-element { mask-image: url(mask.svg); }
mask1:のIDでsvg
.masked-element { mask-image: url(#mask1); }
マスクモードプロパティ
.masked-element { mask-image: linear-gradient(black 0%, transparent 100%); }
マスクモードを使用すると、マスクレイヤーイメージをアルファマスクまたは輝度マスクのいずれかに設定できます。
アルファマスクは、アルファチャネルを備えた画像です。さらに詳しくは、Alphaチャネルは、各ピクセルのデータに含まれる透明性情報です。 Alphaに設定されたMask-Modeプロパティを使用したマスキング操作は、画像のAlpha値をマスク値として使用します。アルファチャネルの便利な例は、黒くて透明な領域を持つPNG画像です。マスクされた要素は、1つのアルファ値を持つマスク画像の黒い部分を通して表示されます。アルファ値がゼロの透明部分の下の他のすべては隠されます。
このPNG画像をアルファマスクとして使用します:
そして、以下のJPG画像でマスキング操作を実行します:


.masked-element { mask-image: url(alpha-mask.png); mask-mode: alpha; }
マスクの白いピクセルで覆われているマスクをマスクする要素の領域が透けて表示されます。マスクの透明なピクセルで覆われたマスクされた要素の部分は隠されます。

ここにコードがあります:

マスク繰り返しのプロパティ
マスクリピートは、バックグラウンドリピートのプロパティによく似ています。サイズと位置を設定した後、マスクレイヤー画像のタイルを制御します。
可能な値は次のとおりです- 繰り返し:マスク層の画像は、利用可能なスペース全体で繰り返されません。
- Repeat-X:マスクレイヤー画像がX座標に沿って繰り返されます。 繰り返しY:マスクレイヤー画像がY座標を繰り返します。
- スペース:マスクレイヤーの画像が繰り返され、利用可能な領域全体で間隔が広がっています。
- ラウンド:マスク層の画像は、利用可能な領域全体で繰り返されます。整数が利用可能なスペースに収まらない場合、画像は拡大されるまで拡大されます。
- たとえば、 これは私がマスクとして使用することを意図している画像です:
下のコードスニペットは、マスクリピートプロパティをスペースの値に設定します。

/* masking with two comma-separated values */ .masked-element { mask-image: url(mask.png), none; } /* using external svg graphic as mask */ .masked-element { mask-image: url(mask.svg); }
マスクポジションプロパティを使用してマスクレイヤー画像を配置できます。このプロパティを、より馴染みのあるCSSバックグラウンドイメージプロパティに使用するのと同じ値に設定できます。その初期値は中心です。

ビューポートの左上隅にマスク画像レイヤーを配置する場合は、マスクポジションプロパティを
0 0:
の値に設定します。これは、上記のコードがブラウザでどのように見えるかです:
上記のマスクポジションプロパティの値を.masked-element { mask-image: url(#mask1); }
に変更すると、ビューポートの右下にマスクレイヤー画像が表示されます。

マスクサイズのプロパティを使用してマスクレイヤー画像のサイズをすばやく設定できます。これは、より馴染みのあるCSSバックグラウンドサイズのプロパティと同じ値を受け入れます。 たとえば、マスクサイズを50%に設定すると、マスクレイヤー画像が全幅の50%に表示されます。

これらのデモが以下のCodepenでアクション中のライブを見ることができます:
マスク層の合成

たとえば
:
/* masking with two comma-separated values */ .masked-element { mask-image: url(mask.png), none; } /* using external svg graphic as mask */ .masked-element { mask-image: url(mask.svg); }
mask2.pngがmask1.pngの上に層状になっています。
マスクコンポジットプロパティでは、次のキーワードの値に応じて、さまざまなマスクレイヤーを組み合わせることができます。
- は、
- mask1.pngの上に塗装されています 減算:mask2.png の一部を表示します。ブラウザは標準のキーワードをまだサポートしていないため、少なくとも当面は、対応するコンポジットオペレーターキーワードソースを使用する必要があります。
- Intersect:mask2.pngの一部を表示しますmask1.png。ただし、CSSマスクをサポートする唯一の種類のブラウザであるWebKitブラウザは、非標準のコンポジットソースインキーワードが使用されている場合でも、画面に何も表示されないようです。 除外:
- mask1.pngおよびmask2.pngの一部を表示します。これは重複しません。繰り返しますが、標準のキーワードにはまだサポートがないため、CompositingオペレーターXORを使用する方がはるかに良いです。
- 以下のCodepenデモでライブデモをチェックできます: CodepenでSitePoint(@SitePoint)によるペンCSSマスクの合成を参照してください。 マスクの速記のプロパティ
マスクを使用して、CSSマスキング操作を1回で1回でマスキング操作を制御するすべてのプロパティを設定できます。
これが全マスクの速記です:
マスクオリジンとマスククリップは、より馴染みのあるバックグラウンドオリジンとバックグラウンドクリップのプロパティのように機能します。
マスクの速記のプロパティを並べ替えることはできますが、「/」シンボルで区切られたマスクポジションプロパティの後にマスクサイズのプロパティを設定する必要があります。また、マスクポジションを設定せずにマスクサイズを設定すると、無効な宣言が発生します。最後に、マスクプロパティで指定できない値は最初のデフォルト値に戻されるため、個々のプロパティをリセットする必要がある場合にマスクを使用すると本当に便利です。
svgマスク要素スケーラブルなベクトルグラフィックス、または略してSVGは、グラフィックをマークアップするためのXMLベースの言語です。
以上がブラウザでCSSとSVGをマスキングしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう
