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 はエンタープライズレベルのログ管理、バックアップ、リカバリの実践的なチュートリアルを実装します

背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...

CSS フォントの新しい使い方: カラーフォントの実装

デザイナーが特別なイベントのタイトルフォントとして以下のフォントを使用したい場合はどうすればよいでし...

MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル

最近コンピュータを再インストールした後、最新バージョンのみをインストールするという強迫観念に基づいて...

Nuxt.jsプロジェクトのDockerデプロイメントの実装

Docker 公式ドキュメント: https://docs.docker.com/ Docker は...

MySQL 接続で認証失敗エラーが発生する場合の分析と解決方法

[問題の説明]アプリケーション側では、次のエラーが時々表示されます。メソッド 'mysql_...

MySQL における冗長インデックスと重複インデックスの違い

MySQL では、1 つの列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、M...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...

Docker+nextcloudで個人用クラウドストレージシステムを構築

1. Dockerのインストールと起動 yum で epel-release をインストールします ...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

bash を使って日付をカウントダウンする方法

重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...

デザイナーはコーディングを学ぶ必要がありますか?

多くの場合、 Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼ら...

Nginx Httpモジュールシリーズにおけるautoindexモジュールの具体的な使用法

ブラウザ モジュールの主な機能は、http リクエスト ヘッダーの「User-Agent」の値とブラ...

nginx で同時接続リクエストの数を制限する方法

導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...