CSS の Flex レイアウトを使用してシンプルな縦棒グラフを作成する方法

CSS の Flex レイアウトを使用してシンプルな縦棒グラフを作成する方法

以下は、Flex レイアウトを使用した棒グラフです。

HTML:

<div class="his_box">
    <div>スコア分布ヒストグラム</div>
    <div class="ヒストグラム">
        <div><div>10</div></div>
        <div><div>8</div></div>
        <div><div>15</div></div>
        <div><div>12</div></div>
        <div><div>5</div></div>
    </div>
</div>

CS: ...

.his_box{ /*ボックス*/
            幅: 400ピクセル;
            高さ: 220px;
            境界線: 実線 1px #1E90FF;
            ディスプレイ: フレックス;
            flex-direction: 列;
            アイテムの位置を中央揃えにします。
        }
        .histogram{ /*ヒストグラム*/
            ディスプレイ: フレックス;
        }
        .histogram>div{ /*タイル*/
            幅: 30ピクセル;
            height: 200px; /*ブロックの高さを100%にする*/
            フォントサイズ: 14px;
            テキスト配置: 中央;
            右マージン: 5px;
            ディスプレイ: フレックス;
            flex-direction: 列反転;
        }
        .histogram>div:nth-child(3n) div{ /*タイルの色*/
            背景色: #ff404b;
        }
        .ヒストグラム>div:n番目の子(3n+1)div{
            背景色: #99CCFF;
        }
        .ヒストグラム>div:n番目の子(3n+2)div{
            背景色: #F0AD4E;
        }
        .ヒストグラム>div:n番目の子(1)div{
            flex: 0 0 50%; /*20は100%、50%は10*/
        }
        .ヒストグラム>div:n番目の子(2)div{
            フレックス: 0 0 40%; /*8/20*/
        }
        .ヒストグラム>div:n番目の子(3)div{
            フレックス: 0 0 75%; /*15/20*/
        }
        .ヒストグラム>div:n番目の子(4)div{
            フレックス: 0 0 60%; /*12/20*/
        }
        .ヒストグラム>div:n番目の子(5)div{
            フレックス: 0 0 25%; /*5/20*/
        }

この例では、タイルの最高点は 20 で、各列の高さは比例して定義されます。最初のデータは 10 で、高さは 50%、2 番目のデータは 8 で、高さは 40% などです。

タイルの色は 3 色で循環します。

レイアウト中、最も外側のコンテナーは align-items: center; を使用して、コンテナー内の要素全体を中央に配置します。

ヒストグラム モジュールは、display: flex; を使用して、モジュール内の列を水平に配置します。

各列もフレックス モジュールですが、レイアウト方向は垂直で、方向は下から上になります flex-direction: column-reverse;

垂直に配置されたヒストグラムを作成する場合:

CS: ...

.his_box{ /*ボックス*/
            幅: 400ピクセル;
            高さ: 220px;
            境界線: 実線 1px #1E90FF;
            ディスプレイ: フレックス;
            flex-direction: 列;
            コンテンツの両端揃え: スペースの間;
        }
        .his_box>div{
            テキスト配置: 中央;
        }
        .histogram{ /*ヒストグラム*/
            ディスプレイ: フレックス;
            flex-direction: 列;
        }
        .histogram>div{ /*タイル*/
            高さ: 30px;
            width: 200px; /*ブロック幅100%*/
            行の高さ: 30px;
            フォントサイズ: 14px;
            テキスト配置: 右;
            下部マージン: 5px;
            ディスプレイ: フレックス;
        }
        .histogram>div:nth-child(3n) div{ /*タイルの色*/
            背景色: #ff404b;
        }
        .ヒストグラム>div:n番目の子(3n+1)div{
            背景色: #99CCFF;
        }
        .ヒストグラム>div:n番目の子(3n+2)div{
            背景色: #F0AD4E;
        }
        .ヒストグラム>div:n番目の子(1)div{
            flex: 0 0 50%; /*20は100%、50%は10*/
        }
        .ヒストグラム>div:n番目の子(2)div{
            フレックス: 0 0 40%; /*8/20*/
        }
        .ヒストグラム>div:n番目の子(3)div{
            フレックス: 0 0 75%; /*15/20*/
        }
        .ヒストグラム>div:n番目の子(4)div{
            フレックス: 0 0 60%; /*12/20*/
        }
        .ヒストグラム>div:n番目の子(5)div{
            フレックス: 0 0 25%; /*5/20*/
        }

CSS を使用して Flex レイアウトでシンプルな棒グラフを作成する方法についての記事はこれで終わりです。CSS 棒グラフに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTMLにスクリプトを追加する2つの方法と注意点

>>:  Vue でスクロールバーのスタイルを変更する方法

推薦する

MySQL テーブルとデータベースでデータを分割する方法

目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...

React Hooksの使用例

目次簡単なコンポーネントの例より複雑な親子コンポーネントのケースオンセレクトの書き方反応する子供Re...

MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。

マスタースレーブレプリケーションがなぜ必要なのでしょうか? 1. 複雑な業務システムでは、SQL 文...

MAC で MySQL のデフォルトの文字セットを utf8 に変更する方法

1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...

Linuxターミナルでの一般的なMySQL操作コマンドの詳細な説明

仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...

Vueカスタムカプセル化ボタンコンポーネント

Vueボタンコンポーネントのカスタムカプセル化コードは参考用です。具体的な内容は次のとおりです。ボタ...

シンプルなアコーディオン効果を実現するjs

この記事では、アコーディオン効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な...

nginx 設定場所方法の概要

位置一致順序1. 「=」プレフィックス命令マッチング、マッチングが成功したら他のマッチングを停止2....

JavaScript オブジェクトの 3 つのプロパティ

目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...

MySQL データ型の選択原則

目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...

Linux 仮想マシンの IP アドレスを変更し、ゲートウェイを確認し、ネットワーク環境を構成する方法に関するチュートリアル

仮想マシンの IP アドレスを変更します。 次のインターフェイスに入り、サブネット IP を直接変更...

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

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

Linux の grep コマンドと egrep コマンドの詳細な説明

反復/egrep構文: grep [-cinvABC] 'word' ファイル名-c...

スキニングを実現するネイティブJavaScript

ネイティブJavaScriptでスキニングを実装するための具体的なコードは参考までに。具体的な内容は...

ドメイン名を nginx サービスにバインドする方法

nginx.conf で複数のサーバーを設定します。 http リクエストを処理する際、nginx ...