CSS での三角形の描画と巧妙な応用例の詳細な説明

CSS での三角形の描画と巧妙な応用例の詳細な説明

Web ページ上の一般的な三角形の一部は、画像やフォント アイコンにする必要なく、CSS を使用して直接描画できます。 Xiaomiの公式ウェブサイトに記載されている通り:

ここに画像の説明を挿入

JDのウェブサイトから:

ここに画像の説明を挿入

では、これらの三角形は CSS を通じてどのように実装されるのでしょうか?

三角形の実装

これを実現するには、div コンテナの幅と高さを 0 に設定し、コンテナの境界線を設定します。

。箱 {
            高さ: 0;
            幅: 0;
            境界線の色: 小麦色 スカイブルー ピンク rgb(154, 121, 230);
            境界線のスタイル: solid;
            境界線の幅: 40px;
        }

上記のコードにより、次の効果が得られます。

ここに画像の説明を挿入

上記のコードでは、ボックスの幅と高さは 0 に、境界線の色の値はそれぞれ上、右、下、左、境界線は実線、4 つの境界線の幅は 40px に設定されているため、4 つの二等辺直角三角形が生成されます。三角形のサイズは境界線の幅によって決まります。border-width の値が大きいほど、三角形も大きくなります。

三角形の 1 つだけが必要な場合は、他の境界線の色を透明に設定することで実現できます。以下の効果を実現します。

ここに画像の説明を挿入

これを実現するには、border-top、border-bottom、border-left の色の値を transparent に設定します。

。箱 {
            高さ: 0;
            幅: 0;
            border-color: 透明 スカイブルー 透明 透明;
            境界線のスタイル: solid;
            境界線の幅: 40px;
        }

二等辺三角形が必要ない場合はどうすればよいでしょうか? それを実現するにはどうすればよいでしょうか?
前述の通り、三角形の大きさは border-width の値によって決まります。4方向の値を同じ値に設定しているので、結果は二等辺三角形になります。 border-width の値を変更することで、さまざまなサイズの直角三角形を作成できます。

。箱 {
            高さ: 0;
            幅: 0;
            border-color: 透明 スカイブルー 透明 透明;
            境界線のスタイル: solid;
            境界線の幅: 80px 40px 0 0;
        }

すると次の三角形が得られます。

ここに画像の説明を挿入

小さな三角形の応用

三角形を描くだけでなく、位置の位置決めによっても実現できます。冒頭で述べたJD.comのウェブサイトでの価格表示の効果など。

ここに画像の説明を挿入

このレンダリングの台形は、以下に示すように長方形の右側に直角三角形を配置し、三角形の背景色を白に設定することで実現できます。

ここに画像の説明を挿入

もちろん、小さな三角形では疑似要素を使用して Web ページの構造を簡素化できますが、疑似要素はインライン要素であるため、最初にインライン ブロック要素またはブロックレベル要素に変換する必要があります。

要約する

CSS で三角形を描画する場合は、次の点に注意する必要があります。

  • コンテナの幅と高さは0である必要があります
  • 三角形のサイズは border-width の値によって決まります。

CSS で三角形を描画して巧みに適用する方法についての記事はこれで終わりです。CSS 三角形描画に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySqlエスケープの詳細な使用例

>>:  HTMLテーブルレイアウトの実践的な使い方の詳しい説明

推薦する

Vue.jsは画像切り替え機能を実装する

この記事では、画像切り替え機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...

Nginx 静的ファイル サービスの構成と最適化の詳細な説明

ルートディレクトリとインデックスファイルroot ディレクティブは、ファイルの検索に使用するルート ...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

MySQLで最新のトランザクションIDを照会する方法

前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...

CSS3 グラデーション背景の互換性の問題

グラデーションの背景色を作成するときは、 linear-gradient() 関数を使用して線形グラ...

MySQL 5.7.21 解凍版のインストールと設定方法のグラフィックチュートリアル

私は頻繁にシステムをインストールするので、インストールのたびにいくつかのソフトウェアを再インストール...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

Dockerとイメージの操作方法

ミラーを探すDocker Hubのウェブサイトからイメージを検索できます。Docker Hubのウェ...

初心者がHTMLタグを学ぶ(1)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

JSが5つ星の賞賛を獲得

この記事では、5つ星の評価を獲得するためのJSの具体的なコードを参考までに共有します。具体的な内容は...

Docker の Windows ストレージ パス設定操作

Windows 10 に Docker をインストールする場合、コンテナタイプを Linux コンテ...

HTMLフォーム送信方法のケーススタディ

フォームの送信方法をまとめると次のようになります。 1. 送信ボタンを使用して送信します。送信ボタン...

MySql が常に mySqlInstallerConsole ウィンドウをポップアップする問題の解決策

MySql は常に MySQLInstallerConsole.exe ウィンドウを定期的にポップア...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

Linux netstatコマンドの詳細な説明

目次Linux netstat コマンド1. TCP接続ステータスの詳細な説明2. コマンド形式3....