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.

/* Keyword values */
hanging-punctuation: none;
hanging-punctuation: first;
hanging-punctuation: last;
hanging-punctuation: force-end;
hanging-punctuation: allow-end;

/* Two keywords */
hanging-punctuation: first force-end;
hanging-punctuation: first allow-end;
hanging-punctuation: first last;
hanging-punctuation: last force-end;
hanging-punctuation: last allow-end;

/* Three keywords */
hanging-punctuation: first force-end last;
hanging-punctuation: first allow-end last;

/* Global values */
hanging-punctuation: inherit;
hanging-punctuation: initial;
hanging-punctuation: unset;
Initial valuenone
Applies toall elements
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar


The hanging-punctuation property may be specified with one, two, or three values.

  • One-value syntax uses any one of the keyword values in the list below.
  • Two-value syntax uses one of the following:
    • first together with any one of last, allow-end, or force-end
    • last together with any one of first, allow-end, or force-end
  • Three-value syntax uses one of the following:
    • first, allow-end, and last
    • first, force-end, and last


No character hangs.
An opening bracket or quote at the start of the first formatted line of an element hangs.
A closing bracket or quote at the end of the last formatted line of an element hangs.
A stop or comma at the end of a line hangs.
A stop or comma at the end of a line hangs if it does not otherwise fit prior to justification.

Formal syntax

none | [ first || [ force-end | allow-end ] || last ]



<p>“Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur dignissim nunc mauris, et sollicitudin est scelerisque sed. Praesent laoreet tortor massa, sit amet vulputate nulla pharetra ut.”</p>


p {
  hanging-punctuation: first last;
  margin: .5rem;



Specification Status Comment
CSS Text Module Level 3
The definition of 'hanging-punctuation' in that specification.
Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
hanging-punctuationChrome No support NoEdge No support NoFirefox No support NoIE No support NoOpera No support NoSafari Full support 10WebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS Full support 10Samsung Internet Android No support No


Full support  
Full support
No support  
No support