nav.broadsheet-section-rail · Section rail

A nav pattern from Broadsheet Newspaper, drawn alone below with this design's tokens and sample copy. Used in this design on: every page, as the nav. Give the section root data-pattern="nav.broadsheet-section-rail". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
Between a 2 px and a 1 px rule: a small blackletter nameplate left, section links in caps in the middle, a 'Subscribe' text link right.
Slots
siteName, pages, cta
Grid areas
rail 1-12 (12-column grid, 1-based inclusive spans)
Tokens
bg #F4F0E6 · text #1B1A17 · heading #0D0C0A · accent #872824 · accent2 #BE6D65 · UnifrakturMaguntia / Newsreader · radius 0px · space unit 6px (full list in design/tokens.json)
Section
vertical padding step 1

Pattern notes

  • A 2 px rule, then one line: the nameplate small in blackletter on the left, section links in small caps in the middle, an underlined "Subscribe" text link on the right; then a 1 px rule. Phone: links scroll sideways.
Northfold
  • Services
  • Work
  • About
  • Contact
Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "nav.broadsheet-section-rail",
  "kind": "nav",
  "grid": {
    "rail": "1-12"
  },
  "slots": [
    "siteName",
    "pages",
    "cta"
  ],
  "tree": {
    "el": "box",
    "gap": 1,
    "children": [
      {
        "el": "divider",
        "weight": 2
      },
      {
        "el": "box",
        "dir": "row",
        "gap": 3,
        "align": "center",
        "justify": "between",
        "children": [
          {
            "el": "logo",
            "slot": "siteName",
            "style": "wordmark"
          },
          {
            "el": "nav-links",
            "mobile": "scroll-x",
            "slot": "pages",
            "dir": "row",
            "style": "plain"
          },
          {
            "el": "button",
            "slot": "cta",
            "variant": "link",
            "size": "sm"
          }
        ]
      },
      {
        "el": "divider",
        "weight": 1
      }
    ]
  }
}
Component example: reference/nav.broadsheet-section-rail.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>nav.broadsheet-section-rail — Broadsheet Newspaper</title>
<link rel="stylesheet" href="base.css">
<style>
  nav { padding: calc(var(--unit) * 2) 0; }
  .row { display: flex; align-items: center; justify-content: space-between; gap: calc(var(--unit) * 3); padding: 8px 0; }
  .row .nameplate { font-size: 28px; text-decoration: none; }
  .links { display: flex; gap: calc(var(--unit) * 3); list-style: none; padding: 0; overflow-x: auto; }
  .links a { text-decoration: none; white-space: nowrap; }
  .links a:hover, .links a[aria-current="page"] { text-decoration: underline; }
  @media (max-width: 640px) { .row { flex-wrap: wrap; } .links { order: 3; width: 100%; } }
</style>
</head>
<body>
<div class="wrap">
  <nav aria-label="Sections">
    <div class="r2"></div>
    <div class="row">
      <a class="nameplate" href="/">The Harbour Gazette</a>
      <ul class="links caps">
        <li><a href="/news" aria-current="page">News</a></li>
        <li><a href="/city">City</a></li>
        <li><a href="/business">Business</a></li>
        <li><a href="/arts">Arts</a></li>
        <li><a href="/sport">Sport</a></li>
        <li><a href="/opinion">Opinion</a></li>
      </ul>
      <a class="caps" href="/subscribe">Subscribe →</a>
    </div>
    <div class="r1"></div>
  </nav>
</div>
</body>
</html>

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page