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 の使用法の概要

推薦する

Centos7.3は起動時に自動的に起動または指定されたコマンドを実行します

Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...

Linux dirnameコマンドの具体的な使い方

01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...

2021年の花火効果をJSで描画(ソースコードダウンロード付き)

この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

ブラウザ内でHTMLタグを中央に配置するCSSスタイル

CSS スタイル:コードをコピーコードは次のとおりです。 <スタイル タイプ="te...

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

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

webpack-dev-server のコア概念とケースの詳細な説明

webpack-dev-server コアコンセプトWebpack の ContentBase と ...

JSは写真の自動再生効果を実現します

この記事では、写真の自動再生効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な...

MySQL Community Server 8.0.11 のインストールと設定方法のグラフィックチュートリアル

最近、MySQL を始めとしてデータベースの知識を勉強し始めました。以下では、皆さんの参考になるよう...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

擬似分散グラフィックを実現するための VMware 構成 Hadoop チュートリアル

1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...

DockerにFastDFSをインストールする方法

画像をプルする docker pull season/fastdfs:1.2トラッカーを開始 doc...

LinuxシステムにISOファイルをインストールする方法

Linux システムで iso ファイルをインストールするにはどうすればいいですか?インストール手順...

Tomcat のプレースホルダーによるポート設定方法 (パラメータ指定方式)

仕事で必要になったため、インターネットで多くの情報を見つけましたが、それらはすべてコピーアンドペース...