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 でスクロールバーのスタイルを変更する方法

推薦する

Vueが学生管理機能を実装

この記事では、学生管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...

Vue でキープアライブを使用した後にキャッシュをクリアする方法

キープアライブとは何ですか?通常の開発では、コンポーネントによっては複数回初期化する必要のないものも...

Ubuntuはポート22を開きます

シナリオssh 経由で Ubuntu サーバーに接続するには、xshell ツールを使用する必要があ...

アプレットにおけるwx.getUserProfileインターフェースの具体的な使用

最近、WeChatミニプログラムは、監査ミニプログラムのwx.loginおよびwx.getUserI...

JavaScript es6 における var、let、const の違いの詳細な説明

まず、よくある質問は、ECMAScript と JavaScript の関係は何ですか? ECMAS...

Docker ベースの Etcd 分散デプロイメントの方法と手順

1. 環境整備1.1 基本環境NTP設定: 省略 #時間の一貫性を確保するためにNTPサービスを設定...

Ubuntuのバックアップ方法(4種類)のまとめ

方法1:リスピンを使用するには、次の手順に従ってください。 sudo add-apt-reposit...

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

このチュートリアルでは、MySQL5.6.22のインストールと設定方法の具体的なコードを参考までに共...

MYSQL サブクエリとネストされたクエリの最適化例の分析

ゲーム史上最高スコアトップ100をチェックSQLコード cdb_playsgame ps から ps...

Node.js組み込みモジュールの詳細な説明

目次概要1. パスモジュール2. モジュールまで3. fsモジュール4. イベントモジュール5. h...

LinuxデバッガGDBの基本的な使い方の詳細な説明

目次1. 概要2. gdbデバッグ2.1. ブレークポイントを設定する2.1.1. ブレークポイント...

HTML テーブル マークアップ チュートリアル (22): 行の境界線の色属性 BORDERCOLORLIGHT

行内では、明るい境界線の色を個別に定義できます。基本的な構文<TR ボーダーカラーライト=co...

IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

私が学習していたときに使用していたバージョンは比較的新しいものであり、インターネット上のチュートリア...

MySQLの浅いエントリと深いエグジットの原則についての簡単な説明

目次1. ページの概要2. 下限と上限3. ページディレクトリを使用する4. ページの実際の外観4....