2026年10月19日

2026年10月19日

WordPressのCSS mask(マスク)を使う方法

はじめに

CSSのmaskプロパティは、ウェブサイト上で画像やテキストをクリップマスクして様々な視覚効果を作り出すための重要なツールです。WordPressでこの機能を利用するには、テーマのスタイルシートをカスタマイズする必要があります。

症状・背景

  • <場面1>: 透過画像を使用し、後方の背景が見えるようにしたい場合
  • <場面2>: テキストの一部だけに影やグラデーションを適用したい場合
  • <場面3>: サイトのアイデンティティを強調するため、特殊な形でコンテンツを表示したい場合
  • <場面4>: 画像を特定の形状(三角形、心形など)に切り抜きたい場合

手順・設定方法

ステップ1: カスタムスタイルシートにmaskプロパティを追加

# WordPressテーマのカスタマイズ用style.cssファイルを開く
nano wp-content/themes/your-theme/style.css

# 以下のようにCSSセレクタとマスク画像を指定する
.your-class {
    mask-image: url('path/to/mask.png');
    -webkit-mask-image: url('path/to/mask.png'); /* Safari対応 */
}

ステップ2: カスタムJavaScriptで動的なmaskプロパティを設定

# WordPressのカスタマイズ用functions.phpファイルを開く
nano wp-content/themes/your-theme/functions.php

# ダイナミックなマスク効果を適用するための関数を追加
function add_mask_js() {
    wp_enqueue_script('mask-js', get_template_directory_uri().'/js/mask.js', array(), '1.0', true);
}
add_action( 'wp_enqueue_scripts', 'add_mask_js' );

# カスタムJavaScriptファイル(/js/mask.js)に以下のコードを追加
document.addEventListener("DOMContentLoaded", function() {
    var elements = document.querySelectorAll('.dynamic-mask');
    elements.forEach(function(element) {
        element.style.maskImage = "url('path/to/dynamic-mask.png')";
    });
});

ステップ3: デザイン要素とmaskプロパティを組み合わせる

# 画像とマスクの効果を組み合わせて使用する
.your-class {
    background-image: url('path/to/background.jpg');
    mask-image: linear-gradient(45deg, transparent 70%, rgba(255,255,255,.3) 80%);
}

# テキストの一部だけにマスクを適用する
.your-class p {
    background-color: #fff;
    -webkit-background-clip: text; /* 文字に背景画像を適用 */
    background-clip: text;
}

ステップ4: ブラウザ互換性とパフォーマンスのチェック

# ブラウザコンソールでmaskプロパティの値を確認する
console.log(document.querySelector('.your-class').style.maskImage);

注意事項

  • <実践的な注意点1>: mask画像はPNG形式かSVGを使用すること。透過が必要な場合はPNG、サイズが大きい場合や複雑な形状の場合はSVGが適している。
  • <実践性的注意点2>: ブラウザの互換性をチェックし、必要に応じてvendor前缀記法(-webkit-, -moz-)を使用する。
  • <セキュリティ上の注意>: mask画像や背景画像はHTTPSで配信すること。また、ユーザーがアップロードできるフォルダからはmask画像を参照しないようにする。
  • <パフォーマンス/運用上の注意>: リアルタイムでmaskプロパティを変更するJavaScriptはページの読み込み時間を長引かせないように最適化する。

まとめ

1. マスクと背景: maskプロパティを使用して画像やテキストにクリップアート効果を追加できます。

2. 動的なマスク: JavaScriptでmaskプロパティを動的に変更することで、インタラクティブなデザインを作成できます。

3. 互換性: 主要ブラウザのmaskプロパティサポートを確認し、必要なvendor前缀記法を含めること。

4. セキュリティとパフォーマンス: mask画像は安全な場所から読み込み、JavaScriptの使用を最小限に抑えることでサイトの速度を保つ。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲