Layout lichid — un tip de codare în care lățimea elementelor este stabilită în procente sau alte unități relative, nu în pixeli ficși. Un astfel de layout se scalează proporțional cu dimensiunea ferestrei browserului, păstrănd structura paginii pe orice ecran. Conform MDN Web Docs (2026), codarea elastică a devenit baza designului responsive modern, deși astăzi este rar folosită în formă pură.
Principalele
Layout lichid (liquid layout, fluid layout) — o abordare de codare în care dimensiunile elementelor sunt stabilite în unități relative, nu în pixeli ficși. Aceasta permite paginii să se scaleze odată cu fereastra browserului fără derulare orizontală.
Conceptul de codare elastică a apărut în epoca monitoarelor desktop cu rezoluții diferite. În anii 2000, site-urile cu lățime fixă de 960 de pixeli arătau prost pe monitoarele de 15 și 30 de inci. Layoutul lichid a rezolvat această problemă.
Conform Web Almanac (2024), 78% dintre site-urile moderne folosesc elemente de codare elastică prin unități relative. Layouturile pur elastice sunt mai rare — în principal în dashboarduri și panouri de administrare.
Codarea elastică a devenit populară după publicarea articolului lui John Allsopp «A Dao of Web Design» în 2000, în care îndemna să renunțăm la pixelii ficși în favoarea unităților relative. Acest manifest a pus bazele filozofice pentru întreg designul responsive.
Unitățile relative de bază în CSS se împart în două grupuri: relativ la elementul părinte (procente) și relativ la viewport (vw, vh, vmin, vmax). Fiecare grup își rezolvă propriile sarcini în codarea elastică.
/* Percent — width relative to parent */
.sidebar {
width: 30%;
}
.content {
width: 70%;
}
/* vw/vh — viewport-based units */
.hero-section {
width: 100vw;
height: 80vh;
}
.fullscreen-modal {
width: 90vmin;
}
Procentele se calculează relativ la lățimea containerului părinte. Procentele imbricate pot crea calcule în cascadă care dau uneori rezultate neașteptate. Unitățile vw/vh sunt legate de viewport și ignoră containerele părinte — este convenabil pentru secțiuni pe tot ecranul.
În codarea elastică este important nu doar să stabilim lățimea blocurilor în unități relative, ci și dimensiunea fontului. Unitatea rem (root em) leagă dimensiunea textului de elementul rădăcină HTML. Modificând font-size în html, putem scala tot textul de pe pagină.
/* Global text scaling via rem */
html {
font-size: 62.5%; /* 1rem = 10px */
}
.heading {
font-size: 2.4rem; /* = 24px */
}
.body-text {
font-size: 1.6rem; /* = 16px */
}
Principala diferență între layoutul lichid și cel adaptiv este caracterul schimbării lățimii. Layoutul lichid se schimbă continuu la orice modificare a ferestrei, iar cel adaptiv — discret prin media queries.
Layout lichid — scalare continuă, adaptiv — comutare între layouturi fixe. Fiecare abordare are puncte forte și slabe.
| Caracteristică | Layout lichid | Layout adaptiv |
|---|---|---|
| Unități | %, vw, rem | px, lățimi fixe |
| Scalare | Lină, continuă | În salturi, prin breakpointuri |
| Suport ecrane | Orice lățime | Doar rezoluții prestabilite |
| Complexitate | Redusă | Ridicată (necesită media queries) |
| Control | Mai puțin control | Control total la breakpointuri |
În practică majoritatea site-urilor moderne folosesc o abordare hibridă: o rețea elastică cu unități relative + media queries pentru breakpointuri critice. Codarea pur elastică fără media queries poate arăta neglijent pe ecrane foarte late sau foarte înguste.
Implementarea de bază a layoutului lichid include trei componente: unități relative de lățime, restricții maxime/minime și flexbox sau grid pentru distribuirea spațiului.
/* Fluid grid with Flexbox */
.container {
display: flex;
flex-wrap: wrap;
}
.card {
flex: 1 1 30%;
min-width: 250px;
}
/* Fluid grid with CSS Grid */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
Abordarea Flexbox cu flex: 1 1 30% creează carduri care ocupă aproximativ 30% din lățimea containerului, dar se pot îngusta până la 250px. Când sunt multe carduri, acestea trec pe rândul următor. Abordarea Grid cu auto-fit și minmax creează automat coloane care încap în container.
Problema cheie a codării pur elastice — pe ecrane foarte late, rândul de text se întinde până la 2000+ pixeli, ceea ce face citirea imposibilă. Pentru rezolvare se folosesc proprietățile CSS min-width, max-width.
/* Container limits for readability */
.content-wrapper {
width: 90%;
max-width: 1200px;
min-width: 320px;
margin: 0 auto;
}
max-width: 1200px previne întinderea conținutului pe monitoare ultra-late. min-width: 320px garantează lățimea minimă a containerului pe ecrane mici. Combinația width: 90% + max-width creează un container elastic cu plafon — cel mai popular tipar în designul web modern.
Conform HTTP Archive (2025), 92% din site-urile din top-1000 folosesc max-width pentru blocurile de conținut. Valoarea standard pentru layouturi desktop este 1140–1200 pixeli.
Designul web modern rareori folosește abordarea pur elastică sau pur adaptivă. Metoda hibridă combină avantajele ambelor: o rețea elastică pe unități relative + media queries pentru restructurări globale.
/* Hybrid: fluid base + media query */
.layout {
display: grid;
grid-template-columns: 1fr 3fr;
}
@media (max-width: 768px) {
.layout {
grid-template-columns: 1fr;
}
}
Pe desktop layoutul folosește coloane elastice 1fr și 3fr — proporția se păstrează la orice lățime a ferestrei. Pe mobil media query comută la o schemă pe o singură coloană, unde coloanele sunt dispuse vertical.
Avantajul abordării hibride — dezvoltatorul scrie mai puține media queries, deoarece rețeaua elastică se adaptează automat la dimensiunile intermediare. Media queries sunt necesare doar pentru schimbări critice de structură, nu pentru fiecare pas al lățimii ecranului.
Întrebări frecvente
Layoutul lichid folosește unități relative și se scalează lin la orice modificare a ferestrei. Layoutul adaptiv comută între șabloane fixe prin media queries. Site-urile moderne combină de obicei ambele abordări.
Pentru containere — procente (%) și fr (flex/grid). Pentru fonturi — rem (relativ la elementul rădăcină). Pentru secțiuni pe tot ecranul — vw/vh. Combinația acestor unități oferă flexibilitate maximă.
Pe ecrane foarte late rândurile de text devin prea lungi pentru citire. Pe ecrane foarte înguste elementele se pot comprima până la o dimensiune ilizibilă. Soluția — folosirea max-width și min-width pentru a limita scalarea.
Google recomandă designul responsive (responsive web design) cu media queries, dar nu interzice codarea elastică. Din punct de vedere SEO, este mai important ca pagina să se afișeze corect pe dispozitive mobile, nu tipul specific de codare.
Da, layoutul lichid a existat cu mult înainte de apariția CSS Grid. Poate fi implementat cu float, inline-block, flexbox sau codare tabelară. Flexbox și Grid sunt instrumentele moderne și cele mai convenabile pentru această sarcină.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și