This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In section 10.3.4 [1], we current have: br { content: '\A'; white-space: pre; } It should be: br::before { content: '\A'; white-space: pre-line; } http://dev.w3.org/html5/spec/Overview.html#phrasing-content-1
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document: http://dev.w3.org/html5/decision-policy/decision-policy.html Status: Rejected Change Description: no spec change Rationale: The current rule is as intended. The whole element's contents get replaced by the newline, now the ::before pseudo. (This relies on CSS3 Generated Content which applies 'content' to all elements, not just pseudos.)
In particular, if you would use ::before elements inserted into <br> through the DOM would end up being rendered, which is not what you want.
Any difference between using 'pre' and 'pre-line'?
Not if the sole content is a newline.
The difference is observable of course through getComputedStyle().