CSS3でハートを描く

CSS3でハートを描く

成果を達成する

要件/機能:

CSS + HTML を使用してハートを描く方法。

分析:

正方形と 2 つの円を組み合わせるとハートが形成できます。
まず正方形と円を描き、次のように配置します。

もう一つの円を追加します。

最後に、図形全体を時計回りに 45 度回転させます。

初期実装:

まず正方形を描きます。

<本文>
    <div id="ハート"></div>
</本文>

#心臓{
       高さ: 300px;
       幅: 300ピクセル;
       境界線: 2px 黒一色;
    }

正方形の左側に円を追加します。これを実現するには、疑似クラス before を使用します。

     #心臓{
            高さ: 200px;
            幅: 200ピクセル;
            境界線: 2px 黒一色;
            位置: 相対的;
        }
    #ハート:前{
        コンテンツ: '';
        幅: 200ピクセル;
        高さ: 200px;
        境界線: 2px 黒一色;
        border-radius: 50%; // 角が丸い四角形は円になります。position: absolute;
        left: -100px; // 正方形を半分の長さだけ左にシフトします}

グラフは次のようになります。

別の円を追加します。ここでは、after 疑似クラスを使用してこれを実現します。

    #心臓{
            高さ: 200px;
            幅: 200ピクセル;
            境界線: 2px 黒一色;
            位置: 相対的;
        }
        // ここでは面倒なので、1 つのブロックだけ書きます #heart:before、#heart:after {
        コンテンツ: '';
        幅: 200ピクセル;
        高さ: 200px;
        境界線: 2px 黒一色;
        境界線の半径: 50%;
        位置: 絶対;
        左: -100px;
    }
    // 2 番目の円では、四角形を半分だけ上に移動する必要があります#heart:after{
        左: 0;
        上: -100px;
    }

最後のステップは、回転させて色を追加することです。より明確にするために、追加された境界線を削除します。

   /*ハートを回転させて色を付ける*/
  変換: 回転(45度);
  背景色: 赤;

完全なコード:

<スタイル>
        本文、html{
            ディスプレイ: フレックス;
            アイテムの位置を中央揃えにします。
            コンテンツの中央揃え: 中央;
            高さ:100vh;
        }
        #心臓{
            高さ: 200px;
            幅: 200ピクセル;
            /*境界線: 2px 黒一色;*/
            位置: 相対的;
            変換: 回転(45度);
            背景色: 赤;
        }
        #ハート:前、#ハート:後{
            コンテンツ: '';
            幅: 200ピクセル;
            高さ: 200px;
            /*境界線: 2px 黒一色;*/
            境界線の半径: 50%;
            位置: 絶対;
            左: -100px;
            背景色: 赤;
        }
        #ハート:後{
            左: 0;
            上: -100px;
        }
    </スタイル>
</head>
<本文>
    <div id="ハート"></div>
</本文>

要約:

ハートは、正方形と 2 つの円で作成できます。ここでは、before 疑似クラスと after 疑似クラスを使用し、2 つの疑似クラスをそれぞれシフトします。最後に、色を追加してハート ❤️ を作成します。

以上がCSS3でハートを描く方法の詳しい内容です。CSS3でハートを描く方法の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

<<:  HTMLは無効なテーブル幅設定の問題を解決します

>>: 

推薦する

アカウントとパスワードを記憶する機能を実現するVueの考え方とプロセス

目次実装のアイデアアカウント パスワードを保存する方法は 3 つあります。機能インターフェースアカウ...

C# は MySQL コマンドラインのバックアップとリカバリを実装します

MySQL データベースをバックアップするためのツールは多数あります。過去 2 日間で、C# を使用...

MySQL 5.7.20 解凍版のインストールとルートパスワードの変更に関するチュートリアル

1. MySQL アーカイブ (解凍版) をダウンロードするURL: https://downloa...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

Docker で MySQL クラスターを構築する方法の例

Docker の基本的な手順:アップデートパッケージ yum -y アップデートDocker仮想マシ...

CSS 3.0 テキストホバージャンプ特殊効果コード

これは、CSS 3.0 で実装されたテキストのホバーとジャンプ効果です。効果は次のとおりです。 以下...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

Tomcat10 Catalinaのログの文字化けの問題を解決する

実行環境、Idea2020バージョン、Tomcat10、実行時にTomcat CatalinaLog...

CSS ファイルをインポートする 4 つの方法 (インライン、インライン、外部、インポート) の詳細な説明

CSS インポート方法 - インラインスタイルタグ属性を通じて、CSSのキーと値のペアがタグに直接書...

HTML 終了タグの問題と W3C 標準

W3C の原則によれば、XML の各開始タグには対応する終了タグが必要です。つまり、<html...

Centos8 で Apache httpd2.4.37 を使用して Web サーバーをインストールする詳細な手順

ステップ 1: yum install httpd -y #httpd サービスをインストールします...

Windows (x86、64 ビット) で MySQL 5.7.17 無料インストール バージョンをアップグレードするための詳細なチュートリアル

Laravel 5.4 のデフォルトの utf8mb64 文字エンコーディングをサポートするには、M...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

DockerはPruneコマンドを使用してnoneイメージをクリーンアップします

目次無イメージの創造と混乱Noneオブジェクトをクリーンアップする方法トリムミラーコンテナで使用され...

要素の$notifyポイントについての簡単な説明

当初の意図は、element-ui の $notify 通知をコンポーネントにカプセル化することでし...