Por defecto, el contenido de los elmentos <pre> (tipo block) y <code> (tipo inline) no pasa a una nueva línea cuándo su longitud supera a la anchura del elemento contenedor. El contenedor no «envuelve» (wrap) al contenido. Esto se debe a que en estos elementos se preservan las nuevas líneas (newlines) y los espacios en blanco (white-space) tal cuál son y no se generan saltos de línea (linebreaks) cuándo la anchura del contenido supera al contenedor.

En algunas situaciones, los elementos <pre> y <code> son los más apropiados pero se quiere evitar que puedan quedar fuera del contenedor. El siguiente snippet CSS hace precisamente eso, preserve (preservar) y wrap (envolver), de modo que el navegador «preserva» los saltos de línea y los white-space pero «envuelve» al contenido generando un salto de línea si es necesario.
pre, code {
    white-space: pre-wrap; //estandar
    white-space: -moz-pre-wrap; //Firefox
    white-space: -o-pre-wrap; //Opera
    word-wrap: break-word; //IE
}

Resultado 2r2s12


Nota como en la versión con white-space: pre-wrap, se conservan todos los espacios en blanco y el salto de línea original pero el contenido queda envuelto completamente por el contenedor: Ver resultado...
Compartir

Mi nombre es Alexander fundador y CEO, y me gusta llamarme un Geek. Amo la informática, tecnología y todo lo que está relacionado con ella. Inicié este sitio con la intención de compartir conocimientos como cursos en línea, tutoriales y videotutoriales. Estoy muy entusiasmado con la información que he descubierto y compartido hasta el momento. La verdad es que lo he hecho con el mayor de los gustos. Así es, soy un Geek con una visión para compartir conocimiento. Leer mas... 2c611u