気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
ツリー構造というか組織図のようなものですね。
HTMLとCSSでできないか考えてみました。
調査したこと・試したことなどがありませんので、「やってほしいことだけを記載した丸投げの質問」になってしまいます。考え方だけ回答しますので、以下のように考えてみてください。
HTMLで構造を記述し、CSSで線を描きます。
wrap
でその階層をまとめ、その中に、その階層lv*
に記述する内容と、下層をまとめたものを入れるbox
を、並列で入れます。
1階層目で言えば、wrap(lv1)
の中に、lv1
というクラスを持つエリアと、box(lv1)
のエリアが並列に入っています。lv1
にはa
というその階層に記述する内容が入っていて、2階層目以降がまとめてbox(lv1)
に入っています。
この時、2階層目が複数あれば、まとめてbox
に入ります。(上図ではlv2のwrapが3つ)
また、各階層、同じ構造ですので、wrap(lv3)
にもbox
があればlv4以降にも対応できますが、今回はありません。
このようにHTMLで構造が構築出来たら、CSSで線を描きます。
1番目の図はわかりやすく分解しただけですが、各階層のwrap
の::before
にborder
(またはbackground
)を使用して、赤線のような線を引きます。
この時、下側の線は次の線と重なりますので、基本的には上と左だけです。
また、その階層の最後のwrap
は次がありませんので、上の線だけです。
このように描いた線を、wrapの高さの半分
だけ下へずらせば、関係を表す線の右半分と縦線が描けます。
あとは上位層のlv*
に対し、::after
などで右に出る線を描けばつながります。
一応、このような考え方で、HTMLとCSSだけで書けました。
各階層同じ構造なので、CSSも共通部分が多く、簡潔に書けました。
投稿2017/09/04 01:32
総合スコア219
0
HTMLの仕様にはないと思いますがcanvasなどで実現することはできそうです
「ER図 HTML canvas」などでググるとよいでしょう
たとえばMarkDownDiagramなどすごく優秀な感じがします
サンプルページをご覧になると早いでしょう
投稿2017/09/01 12:50
総合スコア116835
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/04 02:29
2017/09/04 03:20