純粋な CSS3 マインドマップ スタイルの例

純粋な CSS3 マインドマップ スタイルの例

マインドマップ

彼はおそらく次のように見えるでしょう:

インターネット上の実装のほとんどは d3.js を使用して実装されており、一部は svg を使用して手動で実装されています。最近、仕事でそれが必要になり、非常に面倒なので、CSS3 を使用して実装できるかどうか疑問に思っています。

答えはイエスです。これがコードです

HTMLコード

<div class="mainBody" id="node1">
    <h1>ノード1</h1>
    <div class="oneBody">
        <div class="mainBody">
            <h1>ノード2</h1>
            <div class="oneBody">
                <div class="mainBody">
                    <h1>ノード3</h1>
                    <div class="oneBody">
                        <div class="mainBody">
                            <h1>ノード4</h1>
                        </div>
                        <div class="mainBody">
                            <h1>ノード4</h1>
                        </div>
                        <div class="mainBody">
                            <h1>ノード4</h1>
                        </div>
                    </div>
                </div>
                <div class="mainBody">
                    <h1>ノード3</h1>
                </div>
                <div class="mainBody">
                    <h1>ノード3</h1>
                </div>
            </div>
        </div>
        <div class="mainBody"><h1>ノード2</h1></div>
        <div class="mainBody"><h1>ノード2</h1></div>
    </div>
</div>

CSS3 コード

.mainBody{
    display: -webkit-flex; /* Safari */
    ディスプレイ: フレックス;
    flex-direction: 行;
    コンテンツの配置: flex-start ;
}
.sbody{

}
.oneBody{
    display: -webkit-flex; /* Safari */
    ディスプレイ: フレックス;
    flex-direction: 列;
    コンテンツの両端揃え: スペースを空ける;
}
#ノード1{
    /*高さ: 200px;*/
    上マージン: 100px;
    左マージン: 100px;
}
h1{
    行の高さ: 100%;
    display: -webkit-flex; /* Safari */
    ディスプレイ: フレックス;
    flex-direction: 列;
    コンテンツの中央揃え: 中央;
}

実際の効果は以下のとおりです。

ああ、ちょっと粗雑ですね... でも、スタイルは何でも好きなようにできます。ノードを追加するには、HTML に対応するノード コードを追加するだけです。高さと位置は適応的です。CSS3 flex のおかげで、この時代に生きているのは幸運です。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  数千万件のレコードをMySQLに素早く挿入する方法に関する実践的なチュートリアル

>>:  docker ベースで Prometheus+Grafana を構築する手順の詳細説明

推薦する

Rx レスポンシブプログラミングについての簡単な説明

目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...

IE をフリーズさせる HTML コード

任意のテキスト エディターを開き、次のコードをコピーして、たとえば SomeFilename.htm...

Windows での MySQL インストール チュートリアル (画像とテキスト付き)

MySQL インストール手順 MySQL は、スウェーデンの MySQL AB によって開発された...

イメージのアップロードとダウンロードに docker をプロキシするためのプライベート ライブラリとして nexus を使用する

1. Nexusの設定1. Dockerプロキシを作成する外部ネットワーク ウェアハウスからローカル...

Linux でネットワーク パケット損失と遅延をシミュレートする方法

netem と tc: netem は、Linux カーネル バージョン 2.6 以降で提供されるネ...

MySQLの指定されたテーブルからデータをエクスポートする例の詳細な説明

指定されたテーブルからデータをエクスポートするMySQLの詳細な説明必要とする: 1. テーブルはす...

Docker で Node プロジェクトをビルドしてデプロイする方法

目次DockerとはクライアントサイドDocker基本的なDocker操作画像名画像をプルするその他...

MySQL 4G メモリ サーバー構成の最適化

会社のウェブサイトのアクセス数が増えてくると(1日10万PV以上)、当然MySQLがボトルネックにな...

VMWARE で Centos8 仮想マシンをコピーすることによって発生する IP 損失の問題の解決策

VMwareでcentos8サービスをインストールしてコピーすると、次の問題が発生します。 コピー前...

VMware Workstation 14 Pro(仮想マシン)にシステムをインストールする方法の詳細な説明

この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...

CSS を使用して固定ナビゲーションと左右スライドを備えたスクロール バーを作成する方法

上に示すように、ナビゲーションは上部に固定されており、左右にスライドしてさらにオプションをクリックで...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Javascriptで戦略パターンを実装する方法

目次概要コードの実装要約する概要戦略パターンは、JavaScript デザイン パターンにおける動作...

jQueryアニメーションを理解するのに役立つ記事

目次1. 要素の表示と非表示を制御する show() hide() 2. 要素の透明度を制御する f...

Vue は PDF.js を統合して PDF プレビューを実装し、透かしを追加する手順を実行します。

目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...