アバターと国旗の統合を実現する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つの全く異なる体験が明らかに

推薦する

HTMLポップアップdivはモバイルの中央揃えを実現するのに非常に便利です

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Dockerコンテナはルーティングを介して直接通信し、ネットワーク通信を実現します。

概要Docker 自体の現在のデフォルト ネットワークについては、単一ホスト上の異なる Docker...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

DIV、テーブル、XHTML のウェブサイト構築の違いの分析と説明

簡単に言えば、ウェブサイト構築とは、「この人はどんな外見をしているのか」と「この人はどんな内面を持っ...

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗し...

Javascript 共通高階関数の詳細

目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...

Linux入力サブシステムフレームワーク原理の分析

入力サブシステムフレームワークLinux 入力サブシステムは、上から下に向かって、入力サブシステム ...

DockerコンテナがJupyterにアクセスできない問題の解決策

このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...

Centos6.6 で php7 + nginx 環境をインストールする方法

この記事では、centos6.6 で php7 + nginx 環境をインストールする方法について説...

mysqlは複数の主キーを設定する操作を実装します

ユーザーテーブル、ID番号は一意である必要があります、携帯電話番号、電子メールアドレスは一意である必...

MySQL inndbジョイントインデックスを正しく使用する方法を徹底的に理解するためのケーススタディ

最近確認された5件のデータを照会するビジネスがあります。 `id`、`title` を選択 `th_...

CentOS 8 に htop をインストールする方法のチュートリアル

システムをインタラクティブに監視したい場合は、htop コマンドが最適な選択肢の 1 つです。 ht...

vue cli で env を使用するガイド

目次序文紹介-公式設定例序文vueCli を使用してプロジェクトを開発したことのある方は、少しがっか...

発生したブラウザの互換性の問題と解決策(推奨)について

序文:先週の日曜日、先輩から3ページ作るのを手伝って欲しいと頼まれました。データのやり取りなどはなく...

主軸上のFlex子要素の比率を制御する方法

背景フレックス レイアウトにより、配置とスペースの割り当てがより効果的に実現されます。最近、flex...