CSS の境界線を通して三角形と矢印を実装するサンプルコード

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデル

ボックスには、余白、境界線、パディング、コンテンツが含まれます
境界線の接合部には滑らかな斜線が引かれています。この機能を使うと、境界線の幅や色を設定することで、小さな三角形などを描くことができます。
div 要素はブロックレベル要素であり、ブロック ボックスとして表示され、特定の実装に使用できます。

<div class="triangle"></div>
<div class="arrow"></div>

**例 1、**通常、高さ、幅、境界線を設定すると、ボックスは次のように表示されます。

.三角形 {
   幅: 25px;  
   高さ: 25px;  
   オーバーフロー: 非表示;
   フォントサイズ: 0;
   行の高さ: 0;            
   境界線の幅: 50px;               
   境界線のスタイル: solid;
   境界線の色: rgb(235, 54, 241) rgb(86, 245, 139) rgb(76, 0, 255) rgb(46, 205, 245);
}

注: IE6 ではデフォルトのフォント サイズと行の高さが設定され、ボックスが引き伸ばされた長い長方形として表示されるため、overflow、font-size、line-height が設定されます。

例 2: 例 1 の幅と高さを 0 に設定すると、ボックスは次のように表示されます。

.三角形 {
  幅: 0;  
  高さ: 0;  
  オーバーフロー: 非表示;
  フォントサイズ: 0;
  行の高さ: 0;            
  境界線の幅: 50px;               
  境界線のスタイル: solid;
  境界線の色: rgb(235, 54, 241) rgb(86, 245, 139) rgb(76, 0, 255) rgb(46, 205, 245);
}

この時点で、ボックスは 4 つの三角形で構成されていることがわかります。 1 色だけを残し、他の 3 色を透明または背景と同じ色に設定すると、三角形を実現できます。異なる位置に残すことを選択したエッジに応じて、さまざまな方向の三角形を表示できます。

例3: 下端のみを残す

.三角形 {
   幅: 0;  
   高さ: 0;  
   オーバーフロー: 非表示;
   フォントサイズ: 0;
   行の高さ: 0;            
   境界線の幅: 50px;               
   境界線のスタイル: solid;
   境界線の色: 透明 透明 rgb(76, 0, 255) 透明;
}

例4: 例3の幅と高さは保持され、台形が得られる。

幅: 0;  
高さ: 0;

例5: 矢印の実装

矢印は実際には、オフセット位置に 2 つの三角形を積み重ねることによって実現されます。
青い三角形を 1 ピクセルオフセットした白い三角形で覆い、矢印を形成します。

次のスタイルは上向き矢印を実装します。

.矢印{
   位置: 絶対;
}
. 矢印:前、. 矢印:後{
   位置: 絶対;
   コンテンツ: '';
   border-top: 10px 透明な実線;
   border-left: 10px 透明な実線;
   border-right: 10px 透明な実線;
   下境界線: 10px #fff solid;
}
. 矢印:前{
   下部境界線: 10px #0099CC 実線;
}
. 矢印:後{
   top: 1px; /*上書きして1pxずらす*/
   下境界線: 10px #fff solid;
}

要約する

上記は、CSS の境界線を介して三角形と矢印を実現するために紹介したサンプル コードです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  MySQLとOracleの誤解の詳細な説明

>>:  clipboard.js の使用法の概要

推薦する

体験をデザインする: ボタンには何があるか

<br />最近、UCDChina は「インターフェース上のテキストに注意を払う」という...

Linux での umask の使用に関する詳細な説明

私は最近 Linux を学び始めました。Ma Ge の umask に関する Linux コースを読...

Linux システムでの nginx サーバーのインストールと負荷分散構成の詳細な説明

nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー、メール プ...

HTML のタイトル、段落、改行、水平線、特殊文字についての簡単な説明

タイトルXML/HTML コードコンテンツをクリップボードにコピー< h1 >第 1 レ...

MySQLステートメントの記述と実行順序を理解するだけです

MySQL ステートメントの書き込み順序と実行順序には大きな違いがあります。書き順、mysql の一...

MySQL 5.7のワンクリックインストールとパスワードポリシーの変更方法

1.Mysqlスクリプトのワンクリックインストール [root@uat01 ~]# cat Inst...

Vue 2.0 の基礎を詳しく解説

目次1. 特徴2. 例3. オプション4. 基本的な文法5. ライフサイクル6. ルーティング管理 ...

JavaScript のショートカットのヒント

目次1. 配列を結合する2. 配列をマージする(最初に) 3. 配列の複製4. 構造化分解割り当て5...

dubbo での Zookeeper リクエストのタイムアウト問題: mysql8.0.15 に接続する mybatis+spring の構成

ここ2日間Javaを復習するつもりなので、練習にdubboを使ってショッピングモールプロジェクトを書...

Windows 10にOdoo12開発環境をインストールする方法

序文多くの友人は Mac コンピューターを持っていないと言っていますが、Windows 開発は実際に...

CSSのマッチング問題を解決する

問題の説明ご存知のとおり、CSS を記述する場合、HTML のクラスの定義または ID の定義に従っ...

CMDコマンドを使用してMySqlデータベースを操作する方法の詳細な説明

まず、mysqlサービスを開始および停止します ネットストップmysql ネットスタートMySQL ...

Vue3 のレンダリング関数における互換性のない変更の詳細な説明

目次レンダリングAPIの変更レンダリング関数のパラメータレンダリング関数のシグネチャの変更VNode...

この記事は、Dockerにおけるcgroupの具体的な使用法を徹底的に理解するのに役立ちます。

目次cgroupとはcgroupの構成cgroupが提供する機能cgroup 内の CPU を制限す...

Power Shell に vim 実装コード例を追加する方法

1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...