Typography
Every text element as base.css renders it, in the content rhythm (the default; .pd-content
inside an app). Nothing here uses a class: this is what plain HTML looks like in Normal UI. Sizes and
line heights are in Tokens; the app scale is in the
Heading rhythm template, and a whole post in
the Blog post page.
Headings
One h1 per page, then the levels in order. Never skip a level to get a smaller size.
Heading 1: the page title
Heading 2: a section
Heading 3: a subsection
Heading 4: a minor heading
Heading 5: a small heading
Heading 6: the smallest heading
Body text after a heading. A heading sits half a line from the text it introduces and further from the text before it, so it groups with its own section.
Paragraphs
Body text is 16px on a 24px line in the operating system's UI font. Paragraphs leave one line below them and
none above. Keep lines under about 75 characters by limiting the width of the container (this page does it with
max-width), and let the last line wrap evenly: paragraphs use text-wrap: pretty, so a
single word is never left alone on a line.
Small text is for fine print and captions only. It is 0.83em and nothing is smaller.
Inline text
| Element | Use it for | Example |
|---|---|---|
a |
A link: names its destination, always underlined. | Read the refund policy. |
strong |
Importance: the words a skimming reader must not miss. | Orders after 14:00 ship the next day. |
em |
Stress that changes the meaning of the sentence. | Return it before you ask for a refund. |
b |
Draws the eye without extra importance: a product name in a list. | The Rattan tray is back in stock. |
i |
A different voice: foreign words, ship names, technical terms. | Woven in the anyaman style. |
u |
Rare. Never for emphasis, since it looks like a link. | A misspeled word, marked by a spell checker. |
s |
No longer accurate, but kept for reference. | Was |
mark |
Highlight: one fact per section, or search matches. Black on yellow in both color schemes. | Returns are free until 31 October. |
small |
Fine print, captions, notes. 0.83em, the smallest text allowed. | Prices include VAT. |
code |
A fragment of code, a file name, a value. 1em in the platform monospace. | Set data-color-scheme="dark" on <html>. |
kbd |
A key or keys the reader presses. Drawn as a keycap: 1px border on surface-muted. | Press Ctrl + K to search. |
samp |
Output from a program. Browser default. | The page says Payment declined. |
var |
A variable in maths or code. Browser default (italic). | Delivery takes n + 1 days. |
abbr |
An abbreviation, expanded in its title. Dotted underline. | Shipping by JNE. |
dfn |
The defining instance of a term. Browser default (italic). | A drop-off point is a shop that accepts returns. |
cite |
The title of a work. Browser default (italic). | As reviewed in Rumah Kita magazine. |
q |
A short inline quotation. The browser adds the quote marks. | She called it the best tray I own. |
sub / sup |
Subscripts and superscripts; superscript for footnote marks. They do not change the line height. | CO2 neutral shipping1 on 1st orders. |
del / ins |
Removed and added text in a revision. | Delivery in |
time |
A date or time, machine-readable in datetime. No visual change. | Posted on . |
1 Footnote target for the superscript example.
Lists
Unordered
- Hand-woven rattan trays
- Batik table runners
- Pekalongan patterns
- Solo patterns
- Teak cutting boards
Ordered
- Open Your orders and choose the order.
- Select Return items and say why.
- Wrong size
- Arrived damaged
- Show the QR code at a drop-off point.
Description list
- Standard delivery
- 3 to 5 working days. Free over Rp 250.000.
- Express delivery
- 1 to 2 working days in Java and Bali. Rp 35.000.
Quotations
We stopped using bubble wrap last year. Every tray now ships in a box of recycled board and dried banana leaves, and not one has arrived broken.
Use blockquote for a quotation of a paragraph or more, inside a figure with a figcaption naming the source. Indented 40px, as the browser sets it.
Code blocks
<details name="faq">
<summary>What does delivery cost?</summary>
<p>Free over Rp 250.000.</p>
</details>
pre keeps whitespace, uses the platform monospace at 1em, and scrolls sideways inside its own box so the page never does.
Figures and images
Tables
| Category | Orders | Revenue |
|---|---|---|
| Clothing | 623 | Rp 180.047.000 |
| Home and kitchen | 298 | Rp 43.570.000 |
| Food | 96 | Rp 9.216.000 |
| Total | 1,017 | Rp 232.833.000 |
Rules, addresses and disclosures
A thematic break between two parts of a section:
The next part continues after the hr, which is a 1px rule line.
Jl. Braga No. 12, Bandung 40111
help@example.com
address is contact information for the page or article it sits in (browser default, italic).
Can I change my address after ordering?
Yes, until the order is packed.