How to prevent line breaks and text wrapping in CSS?

Ruperea și Controlul Cuvintelor în CSS

26/12/2025

Rating: 4.87 (9721 votes)

În lumea dinamică a dezvoltării web, unde conținutul este rege și experiența utilizatorului primordială, un aspect adesea subestimat, dar crucial, este gestionarea modului în care textul se adaptează la diferitele dimensiuni ale ecranului. Fie că este vorba despre un titlu lung, o adresă URL complexă sau conținut generat de utilizatori, cum ar fi comentariile, cuvintele care depășesc lățimea elementelor HTML pot duce la layout-uri sparte și o experiență vizuală neplăcută. Din fericire, CSS oferă instrumente puternice pentru a controla exact cum și unde se rup cuvintele, asigurând că designul tău rămâne impecabil și funcțional pe orice dispozitiv. Acest ghid detaliat te va introduce în proprietățile esențiale precum overflow-wrap (și vechiul word-wrap), word-break și white-space, explicând cum le poți folosi pentru a preveni sau a forța ruperea textului, oferind soluții elegante pentru probleme comune de layout.

How to break a word in CSS?
However, using this rule, you are telling CSS to break all words, so that every line of your HTML element is filled with text. Do not forget that when using the word-wrap: break-word rule you have to define the width of your HTML element, so that CSS knows if and where to break a long word. The width can be either a fixed value or a percentage.
Cuprins

Înțelegerea Proprietăților CSS pentru Ruperea Cuvintelor: overflow-wrap (și Vechiul word-wrap)

Proprietatea overflow-wrap, cunoscută anterior sub numele de word-wrap, este instrumentul principal pentru a controla dacă browserul poate rupe cuvintele lungi pentru a preveni depășirea conținutului dintr-un container. Aceasta intervine atunci când un șir de caractere non-rupibile (cum ar fi un cuvânt foarte lung sau o URL) depășește lățimea alocată, forțând o rupere în interiorul cuvântului, dacă este necesar.

Este important de reținut că word-wrap a fost inițial o extensie Microsoft non-standard, dar a fost adoptată pe scară largă și ulterior standardizată ca overflow-wrap. Majoritatea browserelor moderne recunosc ambele proprietăți, tratând word-wrap ca un alias pentru compatibilitate inversă. Pentru cele mai bune practici și o mai bună claritate, se recomandă utilizarea overflow-wrap.

Valori ale proprietății overflow-wrap:

  • normal: Aceasta este valoarea implicită. Browserul va rupe liniile doar la punctele de rupere permise, cum ar fi spațiile sau cratimele. Dacă un cuvânt este prea lung pentru a încăpea pe o linie, acesta va depăși containerul.
  • anywhere: Această valoare permite browserului să rupă un șir de caractere non-rupibile în orice punct arbitrar, între două caractere, pentru a preveni depășirea containerului. Browserul va considera punctele de rupere introduse de această opțiune atunci când calculează dimensiunile intrinseci min-content. Aceasta înseamnă că elementul se va micșora cât de mult este posibil, permițând ruperea cuvintelor lungi. Nu va insera o cratimă.
  • break-word: Similar cu anywhere, break-word permite browserului să rupă un cuvânt lung în interiorul său pentru a-l face să încapă în container. Diferența cheie față de anywhere este că break-word nu ia în considerare punctele de rupere generate de ruperea cuvintelor atunci când calculează dimensiunile intrinseci min-content. Practic, dacă un cuvânt poate încăpea pe o linie nouă fără a depăși, browserul îl va muta acolo. Dacă totuși depășește, îl va rupe.

Pentru ca overflow-wrap (sau word-wrap) să aibă efect, trebuie să te asiguri că elementul container are o lățime definită (fie fixă, fie procentuală) și că proprietatea white-space a elementului permite împachetarea (adică nu este setată la nowrap).

Controlul Ruperii Cuvintelor cu Proprietatea word-break

Proprietatea word-break oferă un control mai granular asupra modului în care textul este rupt, în special în ceea ce privește sistemele de scriere non-occidentale (cum ar fi cele Chineze, Japoneze și Coreene - CJK). Aceasta specifică oportunitățile de rupere moale a liniilor între litere, controlând ce tipuri de caractere pot forma cuvinte non-rupibile.

Valori ale proprietății word-break:

  • normal: Aceasta este valoarea implicită și aplică regulile de rupere a cuvintelor specifice limbii. Pentru limbile occidentale, cum ar fi engleza sau româna, ruperea se va face la spații sau cratime.
  • break-all: Această valoare indică browserului să rupă cuvintele în orice punct, chiar și în mijlocul unui cuvânt, pentru a umple complet linia. Este extrem de utilă pentru a preveni depășirea conținutului, dar poate face textul mai greu de citit. Pentru sistemele de scriere non-CJK, va insera o rupere de linie exact în punctul în care textul ar depăși. Pentru CJK, va aplica ruperea doar în punctele permise de regulile limbii.
  • keep-all: Această valoare este destinată în principal sistemelor de scriere CJK. Împiedică ruperea cuvintelor CJK. Pentru textele non-CJK, comportamentul este identic cu normal. Practic, nu va rupe cuvintele, tratându-le ca pe o singură unitate.

Este important de subliniat că word-break: break-all va rupe cuvintele fără milă pentru a se asigura că textul se încadrează în container, chiar dacă acest lucru înseamnă ruperea unui cuvânt în mijlocul său, chiar și atunci când ar putea fi mutat pe o linie nouă. Aceasta este o diferență cheie față de overflow-wrap: break-word, care încearcă mai întâi să mute cuvântul pe o linie nouă înainte de a-l rupe.

Prevenirea Ruperii Rândurilor și a Împachetării Textului: Proprietatea white-space

În timp ce overflow-wrap și word-break te ajută să gestionezi ruperea cuvintelor lungi, există situații în care dorești exact opusul: să împiedici textul să se rupă pe mai multe rânduri, menținându-l pe o singură linie, indiferent de lățimea containerului. Aici intervine proprietatea white-space.

Proprietatea white-space controlează modul în care spațiile albe (spațiile, tab-urile și noile linii) dintr-un element sunt tratate. Are mai multe valori, dar pentru a preveni ruperea liniilor, ne concentrăm pe nowrap.

  • white-space: nowrap: Această valoare împiedică textul să se rupă pe mai multe linii, forțându-l să rămână pe o singură linie. Spațiile consecutive sunt colapsate într-un singur spațiu, iar noile linii din codul sursă sunt ignorate. Dacă textul depășește lățimea containerului, acesta va continua pe orizontală, ducând la un overflow.

Când folosești white-space: nowrap și textul depășește containerul, poți combina această proprietate cu overflow și text-overflow pentru a gestiona vizualizarea overflow-ului:

  • overflow: hidden: Această proprietate ascunde conținutul care depășește marginile elementului.
  • text-overflow: ellipsis: Adesea utilizată împreună cu overflow: hidden și white-space: nowrap, această proprietate adaugă puncte de suspensie (...) la sfârșitul textului pentru a indica faptul că o parte din conținut este ascunsă. Este o modalitate elegantă de a trunchia textul, menținând în același timp un design curat.

Exemplu de utilizare pentru trunchiere:

.element-trunchiat { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 200px; /* Lățimea necesară pentru ca efectul să fie vizibil */ }

Această combinație este ideală pentru navigări, etichete sau orice element unde spațiul este limitat și dorești să menții o singură linie de text, oferind în același timp un indiciu vizual că există mai mult conținut.

How do I stop a word from breaking?
To stop words from breaking, you should unset word-break. The default is normal, which allows word breaks but at break points. overflow-wrap controls when word breaks happen. You should instead set the overflow-wrap property to always to break words only when they are too long to fit on a line (instead of overflowing).

Diferențe Cheie Între overflow-wrap și word-break

Deși ambele proprietăți ajută la gestionarea depășirii textului, comportamentul lor este subtil, dar semnificativ diferit. Înțelegerea acestor diferențe este crucială pentru a alege instrumentul potrivit pentru sarcina specifică.

Caracteristicăoverflow-wrap (și word-wrap)word-break
Scop principalPrevenirea depășirii containerului prin ruperea cuvintelor lungi care altfel ar depăși.Controlul regulilor de rupere a cuvintelor, inclusiv pentru sisteme de scriere non-occidentale.
Prioritate de rupereÎncearcă să mute întregul cuvânt pe o linie nouă. Rupe cuvântul doar dacă tot depășește după mutare.Poate rupe cuvântul fără a încerca să-l mute pe o linie nouă (în special cu break-all).
Comportament break-wordRupe cuvântul dacă este necesar pentru a se potrivi în container.Valoarea break-word a fost scoasă din specificație, dar este încă suportată ca alias pentru normal + overflow-wrap: anywhere.
Sisteme de scriere CJKNu are un comportament special pentru CJK; rupe cuvintele lungi indiferent de sistemul de scriere.Are valori specifice (keep-all) care influențează ruperea pentru CJK.
Impact asupra min-contentanywhere ia în considerare punctele de rupere pentru calculul min-content. break-word nu.Nu influențează direct calculul min-content în același mod.

Pe scurt, folosește overflow-wrap atunci când vrei ca browserul să rupă un cuvânt numai dacă acesta este prea lung pentru a încăpea pe o linie. Folosește word-break atunci când vrei să forțezi ruperea cuvintele în anumite moduri, chiar dacă ar putea încăpea pe o linie nouă, sau când lucrezi cu texte în limbi CJK.

Când și Cum să Aplici Aceste Reguli CSS

Alegerea proprietății corecte depinde de context și de intenția designului tău. Iată câteva scenarii comune:

  • Pentru a preveni depășirea generală a conținutului: Cel mai adesea, vei dori să folosești overflow-wrap: break-word; (sau word-wrap: break-word; pentru o compatibilitate mai largă cu browsere mai vechi). Aceasta este soluția "blândă" care permite ruperea cuvintelor lungi doar atunci când este absolut necesar, fără a rupe cuvintele scurte sau normale. Asigură-te că elementul tău are o lățime definită.
  • Pentru a umple complet liniile de text: Dacă scopul tău este să te asiguri că fiecare linie este cât mai plină posibil, rupând cuvintele în orice punct pentru a se potrivi, atunci word-break: break-all; este opțiunea. Fii conștient că acest lucru poate afecta lizibilitatea.
  • Pentru a menține textul pe o singură linie: Când ai nevoie ca un bloc de text să nu se rupă niciodată pe mai multe rânduri (de exemplu, pentru titluri scurte, etichete de meniu), folosește white-space: nowrap;. Dacă textul este prea lung, combină cu overflow: hidden; și text-overflow: ellipsis; pentru o trunchiere elegantă.
  • Gestionarea URL-urilor și a șirurilor continue: Acestea sunt cazuri tipice unde overflow-wrap: anywhere; sau overflow-wrap: break-word; sunt extrem de utile. Deoarece URL-urile nu conțin spații, ele sunt considerate un singur "cuvânt" lung și pot depăși cu ușurință.

Un aspect crucial este definirea lățimii elementului HTML. Fără o lățime explicită (width sau max-width), browserul nu știe "unde" să rupă un cuvânt lung, deoarece nu există o limită de spațiu de respectat. Lățimea poate fi o valoare fixă (e.g., 200px) sau o valoare procentuală (e.g., 70%).

Gestionarea Overflow-ului în Tabele

Tabelele prezintă un comportament special în ceea ce privește gestionarea textului lung. Aplicarea directă a overflow-wrap: anywhere; sau overflow-wrap: break-word; pe conținutul unei celule de tabel s-ar putea să nu funcționeze așa cum te-ai aștepta. În mod implicit, tabelele încearcă să-și ajusteze lățimea celulelor pentru a se potrivi conținutului, ceea ce poate duce la depășirea tabelului în ansamblu, creând un scroll orizontal.

Pentru a forța un tabel să respecte lățimea containerului său și a permite proprietăților de rupere a cuvintelor să funcționeze în celule, trebuie să folosești:

table { table-layout: fixed; width: 100%; /* Sau o altă lățime fixă dorită */ } td { word-wrap: break-word; /* Sau overflow-wrap: break-word; */ }

Proprietatea table-layout: fixed; obligă tabelul să utilizeze un algoritm de layout fix, unde lățimea coloanelor este determinată de lățimea primei rând sau de lățimile specificate în <col> sau <th>/<td>. Prin setarea unei lățimi fixe pentru tabel (de exemplu, 100% din containerul său părinte) și aplicarea word-wrap: break-word; pe celule, vei asigura că textul lung din celule se va rupe corect, în loc să forțeze tabelul să depășească.

Sfaturi pentru Depanare și Optimizare

Chiar și cu o bună înțelegere a acestor proprietăți, pot apărea probleme de layout. Instrumentele de dezvoltare ale browserului (cum ar fi Chrome DevTools, accesibil cu F12) sunt esențiale pentru depanare.

Folosind DevTools, poți:

  • Inspecta elemente individuale pentru a vedea ce reguli CSS li se aplică.
  • Modifica proprietățile CSS în timp real pentru a experimenta cu overflow-wrap, word-break, white-space și lățimile elementelor.
  • Identifica rapid elementele care depășesc containerul lor.

Asigură-te întotdeauna că testezi designul pe diferite dimensiuni de ecran și dispozitive, deoarece comportamentul de rupere a cuvintelor poate varia ușor. O abordare responsive a designului este cheia, iar aceste proprietăți CSS sunt aliați puternici în atingerea acestui obiectiv.

Întrebări Frecvente

Cum pot forța ruperea unui cuvânt lung într-un element?
Cea mai comună și recomandată metodă este utilizarea overflow-wrap: break-word; (sau word-wrap: break-word; pentru compatibilitate). Asigură-te că elementul are o lățime definită.
Care este diferența principală între overflow-wrap și word-break?
overflow-wrap încearcă să mute întregul cuvânt pe o linie nouă înainte de a-l rupe, dacă este necesar pentru a preveni depășirea. word-break (în special break-all) rupe cuvintele fără milă, chiar dacă ar putea încăpea pe o linie nouă, și are reguli specifice pentru limbile CJK.
Cum împiedic ruperea textului pe o singură linie?
Utilizează white-space: nowrap;. Dacă textul depășește, poți folosi overflow: hidden; și text-overflow: ellipsis; pentru a-l trunchia cu puncte de suspensie.
Este word-wrap învechit?
word-wrap este numele vechi pentru overflow-wrap. Deși overflow-wrap este numele modern și preferat, word-wrap este încă pe scară largă suportat de browsere pentru motive de compatibilitate inversă. Le poți folosi interschimbabil în majoritatea cazurilor, dar overflow-wrap este viitorul.
De ce nu se rupe textul meu chiar dacă am aplicat overflow-wrap?
Verifică dacă elementul tău are o lățime definită (width sau max-width). Fără o limită de lățime, browserul nu știe unde să rupă. De asemenea, asigură-te că white-space nu este setat la nowrap, deoarece acest lucru ar anula efectul de rupere a cuvintelor.

Gestionarea eficientă a textului pe web este esențială pentru a construi interfețe de utilizator robuste și adaptabile. Proprietățile CSS overflow-wrap (și aliasul său word-wrap), word-break și white-space oferă un arsenal complet pentru a controla comportamentul textului, de la ruperea forțată a cuvintelor lungi până la prevenirea completă a ruperilor de rând. Alegerea corectă a acestor proprietăți îți permite să gestionezi elegant scenariile de depășire a conținutului, asigurând o experiență de utilizare fluidă și un design consistent pe toate dispozitivele. Aminteste-ți că o bună practică implică testarea riguroasă și utilizarea instrumentelor de dezvoltare pentru a te asigura că layout-ul tău se comportă exact așa cum îți dorești. Prin stăpânirea acestor concepte, vei fi capabil să creezi pagini web care arată impecabil, indiferent de conținut.

Dacă vrei să descoperi și alte articole similare cu Ruperea și Controlul Cuvintelor în CSS, poți vizita categoria Fitness.

Go up