Je me demande pourquoi vous trouvez comme solution le "white-space" avec "nowrap" ou "pre", cela ne fait pas le comportement correct : vous forcez votre texte dans une seule ligne ! Le texte devrait briser les lignes, mais pas les mots comme par défaut. Cela est dû à certains attributs css : word-wrap, overflow-wrap, word-break, et les traits d'union. Vous pouvez donc avoir l'un ou l'autre :
word-break: break-all;
word-wrap: break-word;
overflow-wrap: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
La solution est donc de les supprimer, ou de les remplacer par "unset" ou "normal" :
word-break: unset;
word-wrap: unset;
overflow-wrap: unset;
-webkit-hyphens: unset;
-moz-hyphens: unset;
-ms-hyphens: unset;
hyphens: unset;
UPDATE : j'ai également fourni une preuve avec JSfiddle : https://jsfiddle.net/azozp8rr/