English

レイアウト / レポートのレイアウト

レポート

結論・根拠・限界が一目でわかる、余白を活かしたレポートレイアウト。

以下の完成したレポートから始めてください。タイトル、変更前後の主要数値、ラベル付きセクション、比較、留保、結果の根拠となる件数を含みます。HTMLをコピーすれば使え、レンダラーは必要ありません。

ページのグリッドは.sheetが持ちます。冒頭の見出し、.hero、.secを直接入れてください。mainやarticleでまとめる場合は、その要素に.sheet-bodyを付けます。セクション内の.fieldは、子要素のレスポンシブ表示に使う本文幅を定めます。

.sheet-insetや通常のブロック内では、.secと.heroが自分の列を持ちます。最寄りのサイズコンテナが720px以下になると、セクションラベルは本文の上に移り、.heroは縦に並びます。独立したレポート幅を設けるには.sheet、または.sheetと.sheet-insetを入れ子にします。任意のラッパーを挟むだけではサイズコンテナになりません。

文章の比較は、最寄りのサイズコンテナが46rem以上(標準のルート文字サイズでは736px以上)で2列になります。.fieldはレポートの本文列の幅を測ります。サイズコンテナがなければ、ウィンドウが広くても.compareは1列のままです。

完成したレポート

HTML
<!doctype html>
<html lang="ja" data-dd-paper="a4">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>出典を結び、空白を残す。</title>
  <link rel="stylesheet"
        href="https://k-kinzal.github.io/document-design/v1.2.1/document-design.css">
</head>
<body>
  <article class="sheet">
    <p class="eyebrow">BISON-PARSER / 出典カバレッジ</p>
    <h1>出典を結び、空白を残す。</h1>
    <p class="stand">カバレッジは68.97%から96.67%へ。導入文は未解決のままです。</p>
    <div class="hero">
      <div class="was">
        <span class="cap">変更前</span>
        <span class="fig">68.97</span>
        <span class="unit">% 出典カバレッジ · 29単位中20単位</span>
      </div>
      <div class="now">
        <span class="cap">変更後</span>
        <span class="fig">96.67</span>
        <span class="unit">% 出典カバレッジ · 30単位中29単位</span>
      </div>
    </div>
    <section class="sec">
      <h2 class="label">01 / 根拠</h2>
      <div class="field">
        <p class="lead">実装は存在し、出典との結び付きが欠けていました。</p>
        <div class="compare">
          <div class="was">
            <h3 class="cap">変更前</h3>
            <p class="note">29の出典単位のうち9単位に解釈がありませんでした。</p>
          </div>
          <div class="now">
            <h3 class="cap">変更後</h3>
            <p class="note">30の出典単位のうち29単位に解釈が付きました。導入文は未解決のままです。</p>
          </div>
        </div>
        <p class="caveat">出典カバレッジは、すべての挙動がテスト済みであることを意味しません。未解決の導入文も結果の一部です。</p>
      </div>
    </section>
    <section class="sec">
      <h2 class="label">02 / 記録</h2>
      <div class="field">
        <p class="lead">割合の根拠になる件数を残す。</p>
        <div class="table-wrap">
          <table>
            <caption>bison-parserの出典カバレッジ</caption>
            <thead><tr><th scope="col">時点</th><th scope="col">解釈のある単位</th><th scope="col">単位の総数</th></tr></thead>
            <tbody>
              <tr><th scope="row">変更前</th><td>20</td><td>29</td></tr>
              <tr><th scope="row">変更後</th><td>29</td><td>30</td></tr>
            </tbody>
          </table>
        </div>
      </div>
    </section>
  </article>
</body>
</html>

基本的な使い方

プレビュー

読む順序

主張に、読む順序を。

主張、その根拠、そして意味。

型と余白のスケールを分け、主張を前に出しながら、それを支える詳細の居場所をつくります。

HTML
<article class="sheet sheet-inset">
  <p class="eyebrow">読む順序</p>
  <h2>主張に、読む順序を。</h2>
  <p class="stand">主張、その根拠、そして意味。</p>
  <p class="note">型と余白のスケールを分け、主張を前に出しながら、それを支える詳細の居場所をつくります。</p>
</article>

節の直下に内容を置く

プレビュー

01 / 根拠

未解決の指摘を隠さずに残す。

WordPressの844件の文のうち、完全に解決できたのは35件です。結果とともに限界も示します。

SQL文

カタログには844件の文があります。

指摘

解析では978件の指摘が報告されています。同じ文に複数の指摘が付く場合があります。

HTML
<article class="sheet sheet-inset">
  <section class="sec">
    <h3 class="label">01 / 根拠</h3>
    <div class="field"><p class="lead">未解決の指摘を隠さずに残す。</p></div>
    <p class="note">WordPressの844件の文のうち、完全に解決できたのは35件です。結果とともに限界も示します。</p>
    <div class="compare">
      <div><h4>SQL文</h4><p class="note">カタログには844件の文があります。</p></div>
      <div><h4>指摘</h4><p class="note">解析では978件の指摘が報告されています。同じ文に複数の指摘が付く場合があります。</p></div>
    </div>
  </section>
</article>

言葉で導くリード

プレビュー

WHO IS k_kinzal?

k_kinzal

複雑な技術を、使える道具と伝わる知識に変える人。

使える道具を作る

文書生成、デプロイ、PHPのテスト環境、AI開発。

安全に変える

基盤移行、型による設計、自動テストと品質の検証。

知識を伝える

Qiita・Zennでの発信、技術登壇、Rust・Solana教材。

HTML
<article class="sheet sheet-inset">
  <p class="eyebrow">WHO IS k_kinzal?</p>
  <h2>k_kinzal</h2>
  <p class="stand">複雑な技術を、使える道具と伝わる知識に変える人。</p>
  <div class="hero">
    <div class="figures">
      <figure><h3>使える道具を作る</h3><p>文書生成、デプロイ、PHPのテスト環境、AI開発。</p></figure>
      <figure><h3>安全に変える</h3><p>基盤移行、型による設計、自動テストと品質の検証。</p></figure>
      <figure><h3>知識を伝える</h3><p>Qiita・Zennでの発信、技術登壇、Rust・Solana教材。</p></figure>
    </div>
  </div>
</article>

クラスと属性

クラス / 属性用途
.sheetレポートの型と余白のスケールを持つ12列グリッド。
.sec / .label / .field.secを.sheetまたは.sheet-body内に置き、.labelで節を名付け、.fieldに本文を入れます。直下の本文も同じ列を使います。ブロック内では明示的な列を維持し、親がグリッドの場合だけsubgridを使います。
.fig / .claim / .unit短い主要数値、数値の代わりに折り返せる言葉、独立した単位や説明です。長い数値は画面上でその領域だけ横スクロールでき、改行や省略はしません。
.hero > .figures言葉で導くリード。ヒーローの位置に3つのfigureを置き、前後比較のない人物紹介・プロジェクト・テーマに使います。
.caveat読者が結果を解釈するために必要な但し書き。
.sheet-inset / .sheet-wideタイトルを小さくした埋め込み用のブロック枠、または幅広の表紙レイアウトです。埋め込みにはsheetとsheet-insetを併用します。内部の.secと.heroはそれぞれ子要素を配置します。
data-dd-paper="a4"ルート要素に指定すると、印刷時の用紙サイズ、余白、ページ番号が設定されます。letterも指定できます。

使い方の注意

独立したレポートにはh1、ページ見出しの下への埋め込みにはh2を使います。タイトルはレポートの意味を伝え、.heroは任意です。言葉には.claim、単位には.unit、長い精密値には表を使います。主要数値の精度は作成者が決めて示してください。CSSは任意の内容を丸めたり、省略したり、収まるまで縮小したりしません。印刷にはスクロールがないため、PDFを確認し、正確な件数を記録に残してください。

作例はシステムの配色設定に従います。ヘッダーの◐で自動・ライト・ダークを試せます。