¿Cuál es la diferencia exacta entre overflow-wrap/ word-wrapy word-break? ¿Y alguien puede decirme cuál es mejor para romper enlaces muy largos? La mayoría de la gente dice que debería usar el salto de palabras en combinación con, overflow-wrappero no parece muy lógico. Creo que usarlo overflow-wrapen combinación con word-wrappara una mejor compatibilidad con varios navegadores es el mejor método. ¿Qué piensas?
html
css
word-wrap
word-break
Anselmo
fuente
fuente

overflow-wrapyword-wrapdebe ser 100% idéntico en funcionalidad. Personalmente, tengo la impresión de queword-wrapsolo debería usarse para la compatibilidad con navegadores heredados y que podría estar obsoleto o eliminado en una versión futura de CSS.word-wrapconword-breakword-wrap. De esto se trataword-break. Cerrar esto como pregunta duplicada no tiene sentido.Respuestas:
Citando de la fuente
word-wrap: La propiedad de CSS word-wrap se utiliza para especificar si el navegador puede o no dividir líneas dentro de las palabras para evitar el desbordamiento cuando una cadena que de otro modo sería irrompible es demasiado larga para caber en su cuadro contenedor.
overflow-wrap :
word-wrapse ha cambiadooverflow-wrapel nombre de la propiedad en el borrador actual de la especificación de texto CSS3word-break: la propiedad de CSS word-break se utiliza para especificar cómo (o si) dividir líneas dentro de las palabras
Por lo tanto, necesita un salto de palabras en combinación con un ajuste de palabras, que es la combinación correcta.
fuente
word-wrapes suficiente, pero si el ancho del contenedor es limitado, el diseño podría estropearse.Ayuda entender que en este punto,
word-break: break-wordes realmente un alias paraoverflow-wrap: anywhere.word-break: break-wordestá oficialmente en desuso; consulte el Borrador de trabajo de nivel 3 del módulo de texto CSS :Lo que hay que tener en cuenta aquí es que
word-break: break-wordes un alias paraoverflow-wrap: anywhere, NO un alias paraoverflow-wrap: break-word.(
word-break: normales solo el valor predeterminado paraword-break, por lo que puede ignorarlo a menos que esté configurando un valor diferente paraword-break).Cómo hacer
overflow-wrap: anywhereyoverflow-wrap: break-wordser diferente?La única diferencia en la documentación entre los dos es que
overflow-wrap: anywhere"considera las oportunidades de ajuste suave introducidas por el salto de palabras" cuando está "calculando tamaños intrínsecos de contenido mínimo", mientrasoverflow-wrap: break-wordque NO lo hace.Supongo que los anchos podrían ser más precisos en algunos casos si los está considerando.
fuente
Aquí están las diferencias exactas: (según las pruebas en Chrome v81 y confirmando mis observaciones haciendo referencia a la especificación)
espacio en blanco
normal(predeterminado): colapsa cadenas de espacios en blanco y saltos de línea; agrega saltos de línea donde sea necesarionowrap: colapsa cadenas de espacios en blanco y saltos de línea; no agrega saltos de líneapre-line: colapsa cadenas de espacios en blanco; agrega saltos de línea donde sea necesariopre-wrap: sin colapsar; agrega saltos de línea donde sea necesariobreak-spaces: igual que el pre-ajuste, excepto con espacios capaces de activar la adición de saltos de líneapre: sin colapsar; no agrega saltos de líneaNota: Si las
white-spacelistas de valores seleccionadas "no agregan saltos de línea", el comportamiento de salto de línea de las siguientes propiedades no se puede aplicar (es decir, ignorar).descanso de palabras
normal(predeterminado): rompe la línea al final de la última palabra que encaja dentro del contenedor [si existe], de lo contrario, la línea se deja sin romperbreak-word: rompe la línea al final de la última palabra que encaja dentro del contenedor [si existe], de lo contrario al final del contenedorbreak-all: rompe la línea en final del contenedor [puede dividir una palabra, incluso con espacios en blanco cercanos]overflow-wrap (nombre heredado: word-wrap)
normal(predeterminado): rompe la línea al final de la última palabra que encaja dentro del contenedor [si existe], de lo contrario, la línea se deja sin romperbreak-word: rompe la línea al final de la última palabra que encaja dentro del contenedor [si existe], de lo contrario al final del contenedor [si no -flex contenedor], de lo contrario la línea se deja intactaanywhere: rompe la línea al final de la última palabra que encaja dentro del contenedor [si existe], de lo contrario al final del contenedor [igual queword-break: break-word]Tenga en cuenta que para
overflow-wrap: break-word(como para cualquier combinación que deja líneas demasiado largas para el contenedor), la línea ininterrumpida puede hacer que un contenedor flexible se expanda más allá de la relación flexible especificada (lo que obliga a otros contenedores flexibles a encogerse para tener en cuenta el contenido demasiado largo).fuente