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テーブルレイアウトの実践的な使い方の詳しい説明

推薦する

Docker が elasticsearch を起動するときのメモリ不足の問題と解決策

質問Docker が elasticsearch をインストールして起動するときにメモリが不足するシ...

前後の秒、分、時間、日数を取得するMySQLデータベース

現在の時刻を取得します: current_timestamp を選択します。出力: 2016-06-...

CSSリストのスライドにより、下部に隠れるのを防ぎ、長い画面モデルの処理に適応します。

1. モバイル端末がリストスライドを処理するとき、WeChat には下部にページに戻るボタンが組み...

MySQL データベースの必須条件クエリ ステートメント

目次1. 基本的な文法2. 条件式によるフィルタリング3. 論理式によるフィルタリング4. あいまい...

Vue プロジェクトで垂直テーブルを 2 つの方法で実装するアイデアの分析

問題の説明私たちのプロジェクトでは、水平方向のテーブルが一般的ですが、必要に応じて垂直方向のテーブル...

Linux は suid vim.basic ファイルを使用して権限昇格を実現します。

カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...

Dockerコンテナの入退出方法の詳細な説明

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

英語の単語の出現頻度を数えるtrコマンドの魔法

置換を削除したり文字列を削除したりできる tr コマンドは、誰もがよく知っています。 英語では、英語...

vue-admin-template 動的ルーティング実装例

ログインを提供し、ユーザー情報データインターフェースを取得するapi/user.js内 '@...

uniappの無痛トークンリフレッシュ方法の詳細な説明

フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...

Kubernetes の応用分野の概要

Kubernetes は、アプリケーションの移植性とハイブリッド クラウド/マルチクラウドの展開をサ...

CSS ピックアップ矢印、カタログ、アイコン実装コード

1. CSS その他のアイコンアイコンを作成するには 3 つの方法があります。写真css (小さな矢...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

フロントエンドネットワーク、JavaScriptの最適化、開発のヒントについて簡単に説明します。

1. ネットワークの最適化YSlowには23のルールがあります。これら数十のルールは、主に、不要な...