hanging-punctuation
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The hanging-punctuation CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.
Syntax
/* Keyword values */ hanging-punctuation: none; hanging-punctuation: first; hanging-punctuation: last; hanging-punctuation: allow-end; /* Two keywords */ hanging-punctuation: first allow-end; hanging-punctuation: first last; hanging-punctuation: last allow-end; /* Three keywords */ hanging-punctuation: first allow-end last; /* Global values */ hanging-punctuation: inherit; hanging-punctuation: initial; hanging-punctuation: revert; hanging-punctuation: revert-layer; hanging-punctuation: unset; The hanging-punctuation property may be specified with one, two, or three space-separated values.
Values
none-
No character hangs.
first-
An opening bracket or quote at the start of the first formatted line of an element hangs. This applies to:
last-
A closing bracket or quote at the end of the last formatted line of an element hangs. This applies to:
allow-end-
A stop or comma at the end of a line hangs if it does not otherwise fit prior to justification.
Stops and commas that are allowed to hang include:
U+002C, COMMAU+002E, FULL STOPU+060C, ARABIC COMMAU+06D4, ARABIC FULL STOPU+3001, IDEOGRAPHIC COMMAU+3002, IDEOGRAPHIC FULL STOPU+FF0C, FULLWIDTH COMMAU+FF0E, FULLWIDTH FULL STOPU+FE50, SMALL COMMAU+FE51, SMALL IDEOGRAPHIC COMMAU+FE52, SMALL FULL STOPU+FF61, HALFWIDTH IDEOGRAPHIC FULL STOPU+FF64, HALFWIDTH IDEOGRAPHIC COMMA
User agents may include additional characters.
Formal definition
| Initial value | none |
|---|---|
| Applies to | all elements |
| Inherited | yes |
| Computed value | as specified |
| Animation type | discrete |
Formal syntax
hanging-punctuation =
none |
[ first || [ force-end | allow-end ] || last ]
Examples
>Setting opening and closing quotes to hang
HTML
<p> «For a moment, nothing happened. Then, after a second or so, nothing continued to happen.» </p> <p class="hanging"> «For a moment, nothing happened. Then, after a second or so, nothing continued to happen.» </p> <p class="hanging right"> «For a moment, nothing happened. Then, after a second or so, nothing continued to happen.» </p> CSS
p { width: 15em; border: 1px solid #cccccc; font-size: 2rem; font-style: italic; margin: 1em; } p.hanging { hanging-punctuation: first last; } p.right { text-align: right; } Result
Specifications
| Specification |
|---|
| CSS Text Module Level 3> # hanging-punctuation-property> |
Browser compatibility
Loading…