純粋な 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 を構築する手順の詳細説明

推薦する

Win7 での Mysql 5.7.17 winx64 インストール チュートリアル

ソフトウェア バージョンとプラットフォーム: MySQL-5.7.17-winx64、win7 Ho...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

docker ベースの redis-sentinel クラスターの構築例

1. 概要Redis Cluster は、Redis ノードのグループ間での高可用性とシャーディング...

Docker を使用して静的 Web サイト アプリケーションを作成する (複数の方法)

静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、to...

jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

インターネットで3レベルリンクを検索したところ、すべてオプションで書かれていました。突然、別の方法で...

mysql8.0.19 の基本データ型の詳細な説明

MySQL 基本データ型一般的な MySQL データ型の概要 ![1036857-201708011...

React+Ant Design開発環境をセットアップするための実装手順

基礎1. スキャフォールディングを使用してプロジェクトを作成し、開始する1.1 足場を設置する: n...

スタイリッシュなウェブページデザインを作成する方法(グラフィックチュートリアル)

「壮大」という言葉は、おそらく現代のデザイナーが最も聞きたくない言葉でしょう。デザイナー:「デザイン...

MySQL の集計関数 count の使用法とパフォーマンスの最適化テクニック

この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...

Linux プロセスの CPU 使用率が 700% に達し、終了できない場合の解決策

目次1. 問題の発見2. プロセスの詳細情報を表示する3. 解決策4. 大法を再開する1. 問題の発...

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

VPS はオフライン ダウンロード サーバーを構築します (ネットワーク ディスクの時代以降)

モチベーション学習の必要性から、海外のサーバーメーカー(どこのメーカーかは言いません)のVPSサービ...

MySQL で null 値と空文字 ('') を区別する

日常の開発では、データベースの追加、削除、変更、クエリが一般的に行われるため、Mysql で NUL...

CSS スタイル分類入門(基礎知識)

CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...

MySQL が UNION を使用して 2 つのクエリを接続できない理由の詳細な説明

概要連合接続データセットキーワードは、2つのクエリ結果セットを1つに連結し、同一のレコードを除外する...