CSSマスクは、透明性とさまざまな効果を適用することにより、要素の可視性を制御する強力な方法を提供します。要素全体の透明性に影響するopacity
とは異なり、マスクを使用すると、形状または画像に基づいて要素の部分を選択的に非表示または表示できます。これは、ステンシルとして機能するマスク層を定義することで達成され、マスクが不透明な領域のみを明らかにし、透明な領域を隠します。通常、 mask-image
プロパティを使用して、マスクソース(線形勾配、放射状勾配、画像、またはSVGなど)を指定します。例えば:
<code class="css">.masked-element { width: 200px; height: 100px; background-color: blue; mask-image: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0)); }</code>
このコードは、左半分が表示され、右半分がマスクとして機能するため、右半分がマスクされている青い長方形を作成します。勾配を調整して、異なる透明性効果を作成できます。 mask-mode
を使用して、マスクが要素の背景との相互作用(グレースケールのluminance
、透明性のためのalpha
)を制御することもできます。
いくつかのCSSプロパティが協力してマスクを定義および制御します。
mask-image
:これがコアプロパティです。マスクのソースを指定します。これは、画像、線形勾配、放射状勾配、または繰り返しパターンへのURLになります。マスクは、画像のアルファチャネルまたは勾配内のアルファ値を使用して、透明度を決定します。mask-mode
:このプロパティは、マスクが要素のコンテンツとどのように相互作用するかを定義します。 luminance
マスクの輝度(明るさ)を使用し、 alpha
はアルファチャネル(透明度)を使用します。 alpha
は一般に、ほとんどのユースケースで好まれます。mask-size
:このプロパティは、マスクされた要素に対するマスクのサイズを制御します。 auto
、 length
、またはpercentage
などの値を指定して、マスクをスケーリングまたは伸ばすことができます。mask-position
:このプロパティは、マスクされた要素に対するマスクの位置を制御します。 background-position
と同様に、マスクをオフセットできます。mask-repeat
:このプロパティは、マスクイメージがマスクされた要素よりも小さい場合、マスクの繰り返しを制御します。オプションには、 no-repeat
、 repeat-x
、 repeat-y
、 repeat
が含まれます。mask-clip
:このプロパティは、マスクが適用される要素の領域を定義します。マスクを要素の特定の領域に制限するために使用できます。mask-composite
:このプロパティは、同じ要素に適用したときの複数のマスクがどのように結合するかを指定します。オプションには、 add
、 subtract
、 intersect
、およびexclude
含まれます。はい、CSSマスクを他のCSS特性と効果的に組み合わせて、複雑な視覚効果を実現できます。例えば:
transform
: rotate
、 scale
、またはマスクされた要素またはマスク自体のtranslate
などの変換を使用して、動的効果を作成できます。animation
: mask-position
、 mask-size
、またはその他のマスクプロパティをアニメーション化すると、見事なアニメーションが作成できます。filter
: blur
やdrop-shadow
などのフィルターをマスクされた要素またはマスクのいずれかに適用すると、深さと洗練度を追加できます。box-shadow
:マスクされた要素でbox-shadow
使用すると、マスクと興味深い相互作用するシャドウ効果を追加できます。blend-mode
: blend-mode
とマスキングを組み合わせることで、マスクと背景の間にユニークな視覚的なブレンドと相互作用を作成できます。これらのプロパティを巧みに組み合わせることで、従来のテクニックで達成することが困難または不可能な複雑で視覚的に魅力的な効果を作成できます。
CSSマスクを使用すると、いくつかの一般的な問題が発生します。
mask-image
プロパティが有効なソースに正しく設定され、アルファチャネル( alpha
マスクモード用)または輝度( luminance
マスクモード用)が適切に定義されていることを確認してください。ブラウザの開発者ツールを確認してください。mask-size
プロパティが適切に設定されていることを確認し、レスポンシブスケーリングにパーセンテージを使用することを検討します。mask-mode
、 mask-position
、 mask-size
、 mask-repeat
、 mask-clip
、 mask-composite
)の値を確認して、正しく構成されていることを確認します。以上がCSSマスクを使用して、透明性と効果を要素に適用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。