CSS3マスクレイヤーのくり抜き効果を実現するさまざまな方法

CSS3マスクレイヤーのくり抜き効果を実現するさまざまな方法

この記事では、マスク レイヤーの中空化を実現する 4 つの方法を紹介します。みんなと共有し、自分用のメモを残してください。詳細は次のとおりです。

まずは効果を見てみましょう

【方法1:スクリーンショットシミュレーションの実装】

原理: まず同じ位置の写真を撮り、マスク レイヤーを作成してから、対応する位置に写真を配置します。

利点: 原理がシンプル、互換性が良好、IE6 および IE7 と互換性あり、複数の項目を同時にくり抜くことができます。

欠点: この方法は静的ページにのみ適しており、スクロール可能なページには適していません。また、コンテンツが変更になるページにも適していません。

コードは次のとおりです。

<div class="class1">
    <img src="images/000.jpg" alt=""/>
</div>

.class1{
    位置: 絶対;
    幅:100%;
    高さ:100%;
    上: 0;
    左: 0;
    背景色: #000;
    不透明度: 0.6;
    フィルター:アルファ(不透明度=60);
}
.class1 画像{
    位置: 絶対;
    上:260ピクセル;
    左: 208px;
}

【方法2:CSS3のシャドウプロパティの実装】

原則: CSS3 の shadow プロパティを使用します。

利点: 実装が簡単。あらゆるページに適しており、ページによって制限されません。

欠点: 互換性はあまり良くなく、IE9 とのみ互換性があります。

コードは次のとおりです。

<div class="class2"></div>

.class2{
    位置: 絶対;
    幅:170ピクセル;
    高さ:190px;
    上: 260px;
    左: 208px;
    ボックスシャドウ: rgba(0,0,0,.6) 0 0 0 100vh;
}

[方法3: CSS境界プロパティの実装]

原則: 境界プロパティを使用します。まず、空のボックスをターゲット領域に配置し、その周囲に境界線を塗りつぶします。

利点: 実装が簡単、互換性が良好、IE6 および IE7 と互換性あり、あらゆるページに適しており、ページによって制限されません。

デメリット: 互換性の実装プロセスは比較的複雑です。

コードは次のとおりです。

<div class="class3"></div>
.class3{
      位置: 絶対;
      幅:170ピクセル;
      高さ:190px;
      上: 0;
      左: 0;
      左境界線の幅:208px;
      左境界線のスタイル: solid;
      左境界線の色:rgba(0,0,0,.6);
      右ボーダーの幅:970px;
      右境界線のスタイル: solid;
      右境界線の色:rgba(0,0,0,.6);
      境界線の上部の幅:260px;
      ボーダー上部のスタイル: solid;
      上の境界線の色:rgba(0,0,0,.6);
      境界線下部の幅:253px;
      境界線下部のスタイル: solid;
      境界線の下の色:rgba(0,0,0,.6);
}

【方法4:SVGまたはキャンバス】

原則: SVG またはキャンバスの描画機能を使用します。

利点: 一度に複数をくり抜くことができます。

欠点: 互換性が低く、実装プロセスが比較的複雑です。

SVG を例にとると、コードは次のようになります。

<svg スタイル="位置: 絶対;" 幅="1366" 高さ="700">
    <定義>
        <マスクid="myMask">
            <rect x="0" y="0" 幅="100%" 高さ="100%" スタイル="stroke:none; 塗りつぶし: #ccc"></rect>
            <rect id="circle1" width="170" height="190" x='208' y="260" style="fill: #000" />
        </マスク>
    </defs>
    <rect x="0" y="0" width="100%" height="100%" style="stroke: none; fill: rgba(0, 0, 0, 0.6); mask: url(#myMask)"></rect>
</svg>

CSS3 マスク レイヤー ホローイング効果を実現するさまざまな方法についての記事はこれで終わりです。CSS3 マスク レイヤー ホローイングに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MYSQLはUnionを使用して2つのテーブルのデータを結合し、表示します。

>>:  CocosCreator Typescriptでテトリスゲームを作る

推薦する

HTML フレーム、Iframe、フレームセットの違い

10.4.1 フレームセットとフレームの違い まず、フレームセットとフレームの違いについて説明します...

伝説的な VUE 構文シュガーは何をするのでしょうか?

目次1. 糖衣構文とは何ですか? 2. VUE の構文糖とは何ですか? 1. 最も一般的な構文シュガ...

Vue プロジェクトに Electron を追加するための詳細なコード

1. package.jsonに追加する "メイン": "electr...

Linux での chmod コマンドの使用方法の詳細な説明

chmod コマンド構文chmod コマンドを使用する場合の正しい構文は次のとおりです。 chmod...

IE8ブラウザはWebページ標準に完全互換となる

<br />海外メディアの報道によると、マイクロソフトはソフトウェアの相互運用性への取り...

ウェブページの広告デザインにおけるウェブデザインの寸法とルール

1. 800*600 未満の場合、Web ページの幅が 778 以内であれば、水平スクロール バーは...

TypeScriptの列挙型を詳しく説明する

目次1. デジタル列挙2. 文字列の列挙3. 逆マッピング4. 異種列挙5. 定数列挙6. 列挙メン...

MySQL スライディング集計/年初来集計の原理と使用例の分析

この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...

MySQL ストレステストツール Mysqlslap の使用

1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...

CSS3でハートを描く

成果を達成する要件/機能: CSS + HTML を使用してハートを描く方法。分析:正方形と 2 つ...

HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN

デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

Vue ページをリフレッシュするために provide と injection を適用する

目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...

background-positionプロパティでのパーセンテージ値の使用法の検討

背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...