アバターと国旗の統合を実現する1行のCSSコード

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。

毎年この時期になると、WeChat Momentsで自分のプロフィール写真を国旗で飾るのが流行りますが、今年のトレンドは次のとおりです。

うーん、とても良いですね。

では、CSS を使用して旗の画像とアバターを簡単に組み合わせ、目的のアバターをすばやく作成するにはどうすればよいでしょうか。

いずれかの画像の透明度を変更することだと考える人もいますが、そうではありません。合成されたアバターをよく見ると、基本的に左端には赤い旗しか見えず、元のアバターの内容は見えません。一方、右端には基本的にアバターしか見えず、赤い旗の赤い背景は見えなくなります。

CSSのマスクを使用して、1行のコードでアバターと国旗を結合します。

CSS では、2 つの画像を重ねて、上の画像にマスク属性を使用するだけです。この効果は、たった 1 行のコードで実現できます。

div {
    位置: 相対的;
    マージン: 自動;
    幅: 200ピクセル;
    高さ: 200px;
    // 通常のアバター背景: url(image1) no-repeat;
    背景サイズ: カバー;
}
.div::after {
    コンテンツ: "";
    位置: 絶対;
    上: 0;
    左: 0;
    下部: 0;
    右: 0;
    // フラグ画像の背景: url(image2) no-repeat;
    背景サイズ: カバー;
    マスク: linear-gradient(110deg, #000 10%, 透明 70%, 透明);
}

上記のコードでは、 divとその疑似要素div::after使用して、アバターと国旗を重ねています。

div::afterマスク レイヤーmask: linear-gradient(110deg, #000 10%, transparent 70%, transparent)を設定するだけで、アバターと国旗の巧妙な重なりを実現できます。

マスクの簡単な紹介

CSS では、マスク プロパティを使用すると、特定の領域に画像をマスクまたはトリミングすることで、要素の表示領域の一部またはすべてを非表示にすることができます。

マスクを使用する最も基本的な方法は、次のように画像を使用することです。

{
    /* 画像の値 */
    mask: url(mask.png); /* ビットマップをマスクとして使用します*/
    mask: url(masks.svg#star); /* SVG グラフィック内の図形をマスクとして使用します*/
}

もちろん、画像を使用する方法は実際にはもっと複雑です。まず対応する画像素材を準備する必要があるからです。画像に加えて、マスクは背景に似たパラメータ、つまりグラデーションも受け入れることができます。

次のような使用法になります。

{
    mask: linear-gradient(#000, transparent) /* グラデーションをマスクとして使用*/
}

次の画像は透明から黒へのグラデーションが重ねられています。

{
    背景: url(image.png) ;
    マスク: linear-gradient(90度、透明、#fff);
} 

マスクを適用すると、次のようになります。

このデモでは、マスクの基本的な使用方法を簡単に理解することができます。

ここで、マスクの使用に関する最も重要な結論が得られます。つまり、画像の重なり合う部分と、マスクによって生成されたグラデーションの透明部分が透明になるということです。

上記のグラデーションではlinear-gradient(90deg, transparent, #fff)が使用されていることに注意してください。ここでの#fff単色部分は、効果に影響を与えずに任意の色に置き換えることができます。

CodePen デモ - MASK の基本的な使い方

マスクの使用に関するその他のヒント

もちろん、マスクをマスターすれば、さまざまな方法で遊ぶことができます。

たとえば、上記の旗のアバターでは、 CSS @propertyを使用して興味深いホバー効果を実現できます。

または、マスクを使用して興味深いトランジション効果を実現します。

弾丸スクリーンのウェブサイトで弾丸スクリーンをブロックする文字もすべて CSS マスクを使用して実現されています。

CSS MASK について詳しく知りたい場合は、次の 2 つの記事を注意深く読んでください。

魔法の CSS マスク

マスクを使用してビデオの弾丸画面の文字マスクフィルタリングを実装する

1行のCSSコードを使用してアバターと国旗を統合する方法についての記事はこれで終わりです。アバターと国旗のCSS統合に関するより関連性の高いコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMを応援してください。

<<:  HTML タグのメタ概要、HTML5 のヘッド メタ属性の概要

>>:  Apple Watchのインタラクションデザインにおける4つの全く異なる体験が明らかに

推薦する

Windows 10 に TomCat をインストールするチュートリアル図

WindowsにTomCatをインストールするこの記事では、WindowsプラットフォームにTomC...

Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

背景ファイルの作成時刻を取得する必要がある場合があります。例えば: 「xtrabackup スキーマ...

このポイントのJavaScriptの基本

目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...

CSS 配置レイアウト (位置、配置レイアウト スキル)

1. ポジショニングとは何ですか? CSS の position 属性には、absolute/re...

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

MySQL 最適化のケーススタディ

1. 背景Youzan の各 OLTP データベース インスタンスには、実行時間が特定のしきい値を超...

CSS 配送先住所平行四辺形線スタイルの例コード

コードは次のようになります。 // 配送先住所の平行四辺形の線のスタイル <view clas...

MySQLクライアント認証後の接続失敗の問題に対する完璧なソリューション

MySQL 環境をローカル (192.168.1.152) にデプロイし、リモート クライアント 1...

Node.js の非同期ジェネレータと非同期反復の詳細な説明

序文ジェネレーター関数は、async/await が導入される前から JavaScript に存在し...

Zabbixで電子メールアラートを実装する方法

オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...

Vueプロジェクトでのトークン検証ログイン(フロントエンド部分)

この記事の例では、Vueプロジェクトでのトークン検証ログインの具体的なコードを参考までに共有していま...

divの背景を透明に設定する方法の例

div の背景を透明にする一般的な方法は 2 つあります。 1. 不透明度属性を 0 ~ 1 の値に...

Ubuntu で G++ を使用して CPP ファイルをコンパイルする

g++ を使用して初めて cpp ファイルをコンパイルしたとき、未定義の参照エラーが報告されました。...

Redis を Docker コンテナとして素早くデプロイする方法

目次はじめるデータストレージサーバーを構成するRedis セキュリティの管理Redisインストールの...

Vue の computed と watch の違いを理解する方法

目次概要計算された監視プロパティを監視する要約する概要Vue プロジェクトでは、computed と...