This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Tab suggests: br { display-box: contents; content: "\A"; white-space: pre; } (The current spec doesn't work because it suggests browsers should by default honour 'border' et al, which browsers don't. They _do_ honour 'display:none', they don't honour 'display:inline', some honour 'position:fixed' or 'float:left'.)
dbaron raised performance issues around doing anything relying on CSS for <br>, which is an interesting point.
dbaron: in thinking of this further... why would 'display-box' have performance implications that 'display' doesn't have?
display-box: contents essentially forces the insertion of one element's child list into its parent, in place of that element, for purposes of figuring out what rendering tree (box tree) to construct. This might make handling of dynamic changes to anything in the child list of the parent more expensive, because the box tree is shaped less like the element tree and we have to disable optimizations that can only work when they look similar.
Ah, I see. So what we really want is 'display-box: newline' or some such.
http://krijnhoetmer.nl/irc-logs/whatwg/20140721#l-529
http://krijnhoetmer.nl/irc-logs/whatwg/20140904#l-890
Checked in as WHATWG revision r8745. Check-in comment: Update how 'br' is specced at the CSS level. This depends on as-yet incomplete CSS changes. http://html5.org/tools/web-apps-tracker?from=8744&to=8745