HTML を使用して構造化データを表示する方法について質問があります。
通常、セクションとサブセクション ( 、 など) を使用したり、ネストされたリスト (アイテムにサブアイテムのリストが含まれるリスト) を使用したりして表示するツリー状のデータがあり<h1>
ます<h2>
。
このデータの例は、サブタスクとサブサブタスクを含むタスクを含む to-do リストです。
これらの各データには、次のようなプロパティも関連付けられています。
bool completed;
DateTime completionDate;
Priority priority;
私の質問は、HTML を使用して、このデータを 1 ページに表示する良い方法として何を提案しますか?
私の最初のアイデアは、それを表として提示することです:
- テーブルの列の 1 つに、タスクまたはサブタスクが表示されます
- 各行の他の列には、そのタスクに関連付けられたプロパティ (「完了」など) の値が表示されます。
これに関する私の問題は、すべてのタスクとサブタスクを 1 つのテーブル列に表示すると、タスクがどのようにネストされているかに関する情報が失われることです。たとえば、2 行目が実際には最初の行のサブタスクであることを示しません。その問題を回避する方法を提案できますか? 「>」のような可変数のシェブロンでアイテムを装飾して、各アイテムがどれだけ深くネストされているかを示すことを考えました。次に例を示します。
TASK COMPLETED
Some major task No
> A subtask Yes
> Another subtask Yes
> > A sub-subtask Yes
Next major task No
ただし、次のような問題があります。
- 見た目が悪いかもしれませんし、直感的に理解しやすく、読みやすいかどうかもわかりません。他の装飾、または単に可変長の空白のインデントの方が良いでしょうか?
- HTML+CSS を使用してエンコードするエレガントな方法がわかりません。たとえば、HTML を使用して装飾を挿入しますか、それとも CSS を使用して挿入しますか。また、CSS を使用している場合は、ネスト レベルを表示するために
class="level1"
throughのようなものを追加することでしょうか?class="level6"
2 番目の方法は、縦方向に流れるテキストとして表示することです。たとえば、...
<h1>Some major task</h1>
<p>Completed: no.</p>
<h2>A subtask</h2>
...etc...
... 私もそうしますが、読者がプロパティ値の列をスキャンできるようにするビューも必要です。これは、プロパティ値が他のテキストに散在するのではなく、列に配置されている場合に簡単になります。
これはコーディングというよりUIデザインの話なんですが・・・こういうデータを表示したいと思ったのは私が初めてではないのですが、例を見た記憶がないのでお聞きしたいです。