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
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
BCD tables only load in the browser