<!DOCTYPE HTML> <html> <head> <style> .preline { white-space:pre-line; } span { background:yellow; } .float { float:left; background:orange; } .outer { overflow:auto; margin:1em; } </style> </head> <body> <!-- Note, in the following tests there are trailing spaces after "is" and on the second blank line. --> <div class="outer"><div class="preline">My name is Fred.</div></div> <div class="outer"><span class="preline">My name is Fred.</span></div> <div class="outer"><div class="preline float">My name is Fred.</div></div> <div class="outer"><div class="float"><span class="preline">My name is Fred.</span></div></div> <div class="outer"><div style="width:0;"><div class="preline float">My name is Fred.</div></div></div> <div class="outer"><div style="width:0;"><div class="float"><span class="preline">My name is Fred.</span></div></div></div> </body> </html>