Internet Windows Android

Conținutul ocupă 70 din lățimea paginii. Parametrii CSS de lățime și înălțime pentru setarea dimensiunilor elementelor paginii html

În aspectul modern, pe paginile web puteți găsi adesea blocuri care ocupă 100% din lățimea paginii.

Arata cam asa:

Să ne dăm seama cum să obținem acest efect.

De exemplu, să luăm în considerare următoarea situație.

Să ne uităm la rezultatul pe care l-am obținut.

Per total bine, dar există mici crestături pe părțile laterale ale blocului care strică întreaga imagine. Aș dori să le elimin.

Primul lucru care vă vine în minte este să atribuiți proprietatea width:100% blocului. Dar acest lucru nu va schimba situația în niciun fel. Puteți vedea asta pentru dvs.

Un bloc care ar trebui să ocupe 100% din lățime.

Prin urmare, puteți elimina în siguranță proprietatea lățime:100%.

Care este motivul real pentru astfel de indentări?

Cert este că blocul div, a cărui lățime dorim să o facem 100%, este stocat în două elemente părinte body și html. În mod implicit, browserele le oferă valori specifice pentru proprietățile de umplutură și marjă.

Pentru a rezolva problema, trebuie doar să resetați aceste indentări. Este foarte ușor să faci asta:

Să vedem cum arată blocul acum.

Totul este în regulă, spațiul care era pe laterale a fost îndepărtat.

S-ar putea să fiți interesat de serviciul meu de proiectare a paginii de destinație. Apoi faceți clic pe linkul de mai jos pentru a afla mai multe despre el.

Serviciu de aranjare a paginii de destinație.

Astăzi există un număr destul de mare de ecrane care au rezoluții diferite, ceea ce înseamnă că site-urile sunt afișate diferit pe ele. Acest lucru trebuie luat în considerare la scrierea codului și la respectarea regulilor layout-uri pentru diferite ecrane.

În articolul precedent, ne-am uitat deja la modul în care puteți face layout-uri pentru diferite browsere, dar aici vom vorbi despre diferite ecrane și rezoluțiile acestora.

O modalitate de a „combate” diferite rezoluții este utilizarea aspectului cauciuc. În acest caz, site-ul se va întinde și se va micșora la diferite rezoluții; acest lucru poate fi văzut pe site-uri când se schimbă lățimea browserului. Pe site-ul meu, dimpotrivă, se folosește aspectul static.

Pentru a aplica aspectul pentru diferite ecrane, o regulă de stil va ajuta @mass-media. De exemplu,

@media (lățimea maximă: 1024px;) (

Toate (padding: 10px;)

Această intrare indică faptul că pentru clasă toate se va aplica indentarea 10pxîn cazul în care rezoluția ecranului este până la 1024 px.

Dacă trebuie să specificați o regulă pentru ecranele intermediare, atunci intrarea va fi după cum urmează:

@media (lățime minimă: 1024 pixeli;) și (lățime maximă: 1640 pixeli) (
.toate (padding: 10px;)

masa (latime:80%)
}

În acest caz, proprietățile stilului vor fi aplicate ecranelor care folosesc rezoluții de la 1024 la 1640px.

Dacă există un număr mare de stiluri diferite pentru o anumită rezoluție, atunci ar fi mai rațional să le puneți într-un fișier separat. Pentru a face acest lucru, atunci când specificați calea din pagina principală a site-ului, trebuie să faceți o astfel de intrare în interior :

Când trebuie să specificați reguli numai pentru dispozitivele mobile (tablete, smartphone-uri), atunci în acest caz se utilizează intrarea lățimea-max-dispozitiv sau min-dispozitiv-lățime pentru a indica rezoluțiile maxime și, respectiv, minime.

De asemenea, puteți indica utilizarea regulilor numai pentru ecranele monitorului, folosind atributul - ecran. Intrarea va arăta astfel:

Ecran @media (lățime maximă: 1380 px) ( … )

Aceasta înseamnă că stilurile vor fi aplicate numai computerelor desktop, cu o lățime a ecranului de până la 1380 px.

În același mod, în loc de ecran, puteți specifica de mână(dispozitive mobile), imprimare(imprimante), proiecție(proiectoare), televizor(televizoare).

Dacă doriți să vă anunțați vizitatorii despre cele mai recente știri, să raportați cele mai recente știri, puteți comanda un newsletter prin e-mail, care este implementat folosind un serviciu special. Vă va ajuta să efectuați buletine informative convenabile și de înaltă calitate, fără griji.

lățime ca procent%

Un procent este o unitate de măsură a unui element în raport cu blocul care îl conține. Acest lucru funcționează excelent pentru imagini: aici setăm dimensiunile pentru imagine, a cărei lățime este întotdeauna de 50% din lățimea containerului. Încercați să restrângeți fereastra browserului pentru a vedea ce se întâmplă!

Îl poți folosi chiar și pentru a limita dimensiunea maximă și minimă a imaginii!

aspect procentual de lățime

Puteți utiliza un procent pentru a crea un șablon, dar această abordare va necesita mai multă muncă. În acest exemplu, conținutul elementului începe să se înfășoare într-un mod neplăcut atunci când fereastra browserului este prea îngustă. Totul depinde de ceea ce funcționează cel mai bine cu conținutul tău.

Când aspectul este prea îngust, elementul este aplatizat. Mai rău, nu puteți folosi nav pentru a remedia acest lucru, deoarece această proprietate nu va împiedica coloana din dreapta să avanseze.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor.

Faceți înălțimea div egală cu lățimea în CSS

Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.

Adaptăm pagina la dimensiunea ferestrei browserului

În zilele noastre, există multe dispozitive digitale cu diferite dimensiuni de ecran, de la smartphone-uri la televizoare de 42 de inci și mai sus. După cum era de așteptat, toate aceste dispozitive au rezoluții diferite (de la aproximativ 320x240 la 1920x1200) și este adesea necesar să se adapteze o pagină web la fiecare dintre aceste rezoluții. Acest lucru se face folosind interogări media- parte a specificației CSS3 care vă permite să setați domeniul de aplicare al unui selector. Interogările media este un bloc care indică parametrii dispozitivului de ieșire, cum ar fi tipul, lățimea și înălțimea ferestrei browserului, rezoluția și orientarea spațială. Totul începe cu o regulă @mass-media, urmat de tipuri de dispozitive, operatori logici și funcții media. În lista de mai jos vom marca toți cei 3 operatori logici.

  1. și— „ȘI” logic, folosit pentru a combina mai multe condiții;
  2. nu- logic „NU”, folosit pentru a anula orice condiție;
  3. , - „SAU” logic, dacă cel puțin una dintre condiții este îndeplinită, atunci stilul va fi aplicat.

Acum să ne uităm la funcțiile media. Cu ajutorul lor, sunt stabilite caracteristicile tehnice ale dispozitivelor (de exemplu, dimensiunea ferestrei browserului). În prezent sunt 12 dintre ele.

  1. raportul de aspect (raportul minim, raportul maxim)— determină raportul dintre lățimea și înălțimea zonei afișate. Notat cu 2/3 de exemplu, adică 2 numere separate prin semnul „/”;
  2. culoare (culoare minimă, culoare maximă)— determină numărul de biți pe canal de culoare. Sens culoare min: 2înseamnă că fiecare dintre cele trei canale ale sistemului de culori RGB poate afișa 2 2 nuanțe și toate împreună 4 * 4 * 4 = 64 de culori diferite. Dacă valoarea nu este specificată deloc, atunci se verifică dacă este colorată sau nu;
  3. indice de culoare (indice de culoare minim, indice maxim de culoare)— determină numărul de culori suportate de dispozitiv;
  4. raport-aspect-dispozitiv (raport-aspect-min-dispozitiv, raport-aspect-max-dispozitiv)— determină raportul de aspect al ecranului dispozitivului (2 numere separate printr-o bară oblică, de exemplu 4/3);
  5. înălțimea dispozitivului (înălțimea minimă a dispozitivului, înălțimea maximă a dispozitivului)— determină întreaga înălțime disponibilă a ecranului dispozitivului sau a paginii imprimate;
  6. lățime-dispozitiv (lățime-min-dispozitiv, lățime-max-dispozitiv)— determină întreaga lățime disponibilă a ecranului dispozitivului sau a paginii imprimate;
  7. grilă— stabilește că acesta este un dispozitiv cu o dimensiune fixă ​​a caracterelor (terminal sau telefon);
  8. înălțime (înălțime minimă, înălțime maximă)— setează înălțimea zonei afișate;
  9. monocrom (min-monocrom, max-monocrom)— determină că dispozitivul este monocrom; dacă este atribuită vreo valoare, este indicat numărul de biți pe pixel. De exemplu, o valoare de 8 este echivalentă cu 2 8 nuanțe de culoare de afișare monocromă;
  10. orientare— determină că dispozitivul este în modul peisaj, valoarea peisaj sau sensul portretului portret;
  11. rezoluție (rezoluție minimă, rezoluție maximă)— determină rezoluția dispozitivului în dpi (puncte pe inch) sau dpcm (puncte pe centimetru);
  12. scanează— determină tipul de scanare TV - interlace sau progresiv. Cu scanarea intercalată, televizorul arată mai întâi liniile impare ale cadrului, apoi pe cele pare, în scanarea progresivă se transmite și se arată întregul cadru;
  13. lățime (lățime minimă, lățime maximă)— setează lățimea zonei afișate;

Și acum un exemplu.

Blocați dimensiunile elementelor în CSS

Să creăm o pagină web și să setăm stilul acesteia folosind interogări media.



Exemplu de utilizare a interogărilor media




Acesta este antetul site-ului.


Acesta este un bloc cu conținut (conținutul principal al paginii).


Acesta este subsolul.





Acum setăm foaia de stil:

#principal (
dimensiunea fontului: 14px;
}
Ecran @media și (lățime maximă: 800 px)(
#antet(
fundal:#ff6633;
latime:100%;
inaltime:10%;
}
#menu de sus(
text-align:center;
culoare de fundal:#ffcc66;
latime:100%;
inaltime:12%;
}
#menu de sus a(
Culoarea albastra;
text-decor:niciuna;
}
#topmenu a:hover(
Culoarea albastra;
text-decor:subliniat;
}
#conţinut(
culoare de fundal:#ffccff;
plutește la stânga;
latime:80%;
inaltime:68%;
}
#bara laterală(
plutește la stânga;
culoare de fundal:#ff9966;
latime:20%;
inaltime:68%;
}
#bara laterală a(
display:bloc;
padding-bottom:3px;
Culoarea albastra;
text-decor:niciuna;
}
#sidebar a:hover(
Culoarea albastra;
text-decor:subliniat;
}
#subsol(
clar:ambele;
culoare de fundal:#ffff33;
latime:100%;
inaltime:10%;
}
}
Ecran @media și (lățime minimă: 800 px)(
#principal (
lățime: 800px;
margine:0 auto;
}
#antet(
fundal:#ff6633;
lățime: 800px;
înălțime: 100px;
}
#menu de sus(
text-align:center;
culoare de fundal:#ffcc66;
lățime: 800px;
înălțime: 30px;
}
#menu de sus a(
Culoarea albastra;
text-decor:niciuna;
}
#topmenu a:hover(
Culoarea albastra;
text-decor:subliniat;
}
#conţinut(
culoare de fundal:#ffccff;
plutește la stânga;
lățime: 650px;
înălțime: 400px;
}
#bara laterală(
plutește la stânga;
culoare de fundal:#ff9966;
lățime: 150px;
înălțime: 400px;
}
#bara laterală a(
display:bloc;
padding-bottom:3px;
Culoarea albastra;
text-decor:niciuna;
}
#sidebar a:hover(
Culoarea albastra;
text-decor:subliniat;
}
#subsol(
clar:ambele;
culoare de fundal:#ffff33;
lățime: 800px;
înălțime: 50px;
}
}

Să ne uităm acum la codul în sine. Totul este clar cu documentul html, haideți să conectăm stilul la acesta mediastyle.css. În foaia de stil, setați mai întâi dimensiunea fontului. În continuare spunem că dacă lățimea ecranului (fereastra browserului) este mai mică de 800 de pixeli, atunci se vor respecta următoarele reguli pentru acesta și setăm dimensiunile tuturor blocurilor ca procent din lățimea ferestrei. Dacă lățimea ecranului este mai mare de 800 de pixeli, setați dimensiunea tuturor blocurilor în pixeli și setați locația conținutului în centrul paginii folosind valoarea proprietății margine:0 auto;. Aici folosim blocuri plutitoare pentru poziționare. Aceasta încheie studiul nostru despre CSS. Un exemplu de pagină creată de noi poate fi văzut aici. Puteți studia foile de stil în cascadă mai detaliat folosind diverse literaturi și World Wide Web.

<<Предыдущая | В раздел

S-ar părea că există ceva dificil în aspect. HTML și CSS nici măcar nu sunt limbaje de programare. O pagină HTML este pur și simplu blocuri plasate în locul potrivit. În realitate, nu este atât de simplu. A sta la layout fără a înțelege nuanțele modelului bloc înseamnă a pierde mult timp ajustând rezultatele la întâmplare, de fiecare dată fiind surprins de rezultate neașteptate sau de absența acestora. În construirea de site-uri web, ca și în construcție, dacă doriți să construiți ceva mai serios decât un gard, trebuie să cunoașteți subtilitățile.

proprietăți css pentru a defini înălțimea și lățimea blocului.

În mod implicit, un bloc în lățime ocupă tot spațiul disponibil și este limitat de lățimea blocului părinte. Înălțimea unui bloc este determinată de conținutul acestuia.

Dimensiunea blocului poate fi modificată folosind proprietățile înălțime și lățime.

Cum să setați dimensiunea blocului în css

Aceste proprietăți nu sunt setate pentru întregul bloc, ci pentru conținutul acestuia. Acest lucru trebuie reținut deoarece, pe lângă conținut, alte două proprietăți influențează dimensiunea blocului - chenar și umplutură. După cum sugerează și numele, bordura definește o graniță. În imagine, chenarul este indicat printr-o linie roșie. Spațiul dintre chenar și conținut este determinat folosind proprietatea padding. Dacă nu îl setați, textul din imaginea de mai jos va fi apăsat aproape de chenar.

Astfel, atunci când calculați dimensiunea blocului, pe lângă lățime și înălțime, trebuie să luați în considerare căptușeala și chenarul. De exemplu, să calculăm dimensiunea unui bloc pentru care sunt date următoarele valori:

  1. chenar:5pxsolidred;
  2. umplutură: 10px;
  3. lățime: 200px;

Lățimea blocului 200px+10px*2+5px*2=230px

Pentru a nu-ți deranja capul cu aritmetica și pentru a ști întotdeauna exact dimensiunea blocului, există o proprietate de dimensionare a casetei. Ia trei valori.

  1. content-box — Valorile specificate în lățime și înălțime se aplică numai conținutului.
  2. padding-box — Valoarea specificată în lățime și înălțime determină dimensiunea conținutului plus dimensiunea umpluturii.
  3. border-box — Valoarea specificată în lățime și înălțime determină dimensiunea conținutului plus padding plus chenar

Dacă adăugați linia la exemplul de mai sus

dimensiunea blocului va fi de 200px, iar lățimea conținutului va fi redusă la 200px-10px*2-5px*2=170px.

marginea modului de a seta corect distanța dintre blocuri.

Ar fi greșit să vorbim despre blocuri și să nu menționăm margine, mai ales că este ceva de vorbit. Pentru cei care nu sunt la curent, marginea determină spațiul liber din jurul blocului. Spre deosebire de umplutură, nu totul este atât de evident aici. Luați în considerare două blocuri, unul imbricat în celălalt. Setați marja blocului imbricat: 10%. Se pune imediat întrebarea de unde să se calculeze aceste procente. Procentele sunt luate din lățimea elementului părinte. Nu contează dacă definim indentări orizontale sau verticale. Răspunsul, sincer vorbind, nu este evident, dar dacă te uiți la explicații devine clar de ce a fost aleasă această opțiune.

Surprizele nu se opresc aici. marja adăugată imaginii noastre va da un rezultat atât de neașteptat.

Griul din imagine indică blocul părinte. Contrar așteptărilor noastre, marja aplicată blocului copil nu a extins granițele blocului părinte deasupra și dedesubt. Acest lucru s-a întâmplat deoarece blocul părinte nu avea pe ce să se construiască. În astfel de cazuri, marginea este plasată în exterior și împinsă departe de blocul adiacent sau de marginile unui bloc situat la un nivel mai înalt. Pentru ca un bloc să fie respins de la părintele său, blocul părinte trebuie să aibă padding sau chenar sau o proprietate de depășire setată cu orice altă valoare decât cea vizibilă.

O altă caracteristică a indentărilor este prăbușirea. Ideea este că, dacă două elemente adiacente au o marjă specificată, atunci distanța dintre ele va fi egală cu cea mai mare valoare.

marja poate lua valori negative. În acest caz, un bloc se va suprapune pe altul. Este determinată măsura în care un bloc se strecoară pe altul

Un element bloc este un element care apare ca dreptunghi pe o pagină web. Un astfel de element ocupă toată lățimea disponibilă, înălțimea elementului este determinată de conținutul său și începe întotdeauna pe o linie nouă. Elementele bloc includ containere

,

,

Este permisă imbricarea unui element bloc în altul, precum și plasarea elementelor inline în interiorul lor ( , De exemplu).

Este interzisă adăugarea de elemente bloc în interiorul elementelor încorporate (exemplul 1).

Exemplul 1: Utilizarea elementelor bloc

În acest exemplu, paragraful (tag

) se introduce în interiorul recipientului

, și link (etichetă ) - în titlu

. Apropo, ar fi o greșeală să faci invers - adaugă

într-un recipient (

Ut wisi

), din moment ce eticheta nu se aplică elementelor bloc.

Imbricarea etichetelor bloc în interiorul elementelor inline este mai frecventă pentru începătorii care nu înțeleg încă diferența dintre ele.

În plus, browserele au învățat să surprindă astfel de erori și să afișeze codul mai mult sau mai puțin corect. Cu toate acestea, vă recomandăm să respectați specificațiile în această chestiune pentru a afișa pagina web fără erori.

Lățimea elementului bloc

În mod implicit, lățimea blocului este calculată automat și ocupă tot spațiul disponibil. Aici este necesar să clarificăm ce se înțelege prin aceasta. De exemplu, dacă eticheta

Dacă există unul în codul documentului, atunci acesta ocupă toată lățimea liberă a ferestrei browserului și lățimea blocului va fi egală cu 100%. Merită să puneți o etichetă
în interiorul altuia, pe măsură ce lățimea etichetei interioare începe să fie calculată în raport cu părintele ei, adică container exterior.

Unele browsere interpretează conceptul de lățime destul de vag, deși specificația CSS afirmă clar că lățimea este suma următorilor parametri: lățimea blocului propriu-zis (lățimea), marginile (marja), câmpurile (padding) și chenarele (chenarul) . Exemplul 2 arată cum să creați un strat care conține toate aceste componente.

Exemplul 2: Lățimea stratului

Ca rezultat al acestui exemplu, vom obține un strat cu o lățime de 342 pixeli. În fig. 1 arată din ce este alcătuită lățimea stratului.

Figura 1. Lățimea elementului bloc

În cazul cândnu este specificat în cod, browserul Internet Explorer ia valoarea proprietății width ca lățime a întregului bloc.

Să ne uităm la un alt exemplu legat de lățime. În mod implicit, lățimea stratului este setată la automat, acest lucru permite stratului să se potrivească în fereastra browserului fără a ține cont de valorile câmpurilor setate. Dacă modificați lățimea la 100%, o bară de defilare orizontală va apărea inevitabil atunci când adăugați valori de umplutură, marjă sau chenar.

Există mai multe abordări pentru a obține un rezultat universal. Exemplul 3 demonstrează crearea a trei straturi, a căror lățime este determinată ca procent.

Exemplul 3. Lățimea stratului în procente

Rezultatul exemplului este prezentat în Fig. 2.

Orez. 2. Afișați lățimile straturilor în browser

Lățimea primului strat din acest exemplu (layer1) este setată la 100%, ceea ce duce la afișarea unei bare de defilare orizontale. Pentru al doilea strat (layer2), lățimea este, de asemenea, setată la 100%, dar marginile sunt definite pentru paragraful interior (etichetă

). Din acest motiv, lățimea stratului va fi aceeași în toate browserele. Al treilea strat (layer3) nu are deloc aplicată proprietatea width, deci este definit implicit - auto. În acest caz, stratul va ocupa întreaga lățime a ferestrei browserului fără dungi orizontale.

Modul în care setați lățimea depinde de aspectul utilizat și de alegerea dezvoltatorului, dar, în orice caz, trebuie să țineți cont de caracteristicile elementelor bloc și să creați cod universal.

Înălţime

Situația cu înălțimea elementelor bloc este similară cu lățimea. Browserul ia valoarea proprietății înălțime ca înălțime a stratului și îi adaugă valorile marginii, umpluturii și chenarului. Dacă înălțimea stratului nu este setată în mod explicit, aceasta este calculată automat pe baza volumului conținutului.

Să presupunem că un strat este setat la o înălțime de pixeli, iar conținutul stratului este în mod clar mai mare decât înălțimea specificată (Exemplul 4).

Exemplul 4: Înălțimea stratului

Rezultatul acestui exemplu este prezentat în Fig. 3.

Orez. 3. Blocați înălțimea în diferite browsere

Se poate observa că browserul lasă înălțimea neschimbată, din cauza căreia textul nu se încadrează în bloc și se suprapune deasupra stratului.

Culoare de fundal

Cel mai simplu mod de a seta culoarea de fundal a unui element este prin proprietatea generică de fundal. În acest caz, zona determinată de valorile lățimii, înălțimii și umpluturii este umplută cu fundal (Fig. 4).

Opțiuni de blocare în CSS

Zona unui strat care este umplută cu culoarea de fundal

Astfel, marginea nu participă la formarea zonei colorate.

Frontiere

Datorită diferenței de abordare a browserului la formarea elementelor bloc, există și o diferență în afișarea marginilor. Browserul Internet Explorer 7 desenează cadrul în interiorul blocului, iar Firefox desenează cadrul în exterior. Dar dacă folosim o umplere de fundal, vom vedea o imagine complet opusă (Fig. 5). Și totul pentru că Firefox (Opera) setează culoarea de fundal de-a lungul marginii exterioare a graniței, iar Internet Explorer o setează de-a lungul marginii interioare. Începând cu versiunea 8.0, Internet Explorer a schimbat stilul de afișare a cadrului; acesta este desenat în interiorul unui bloc, la fel ca în Firefox.

A. Internet Explorer 7

b. Firefox, Internet Explorer 8+

Orez. 5. Afișarea cadrului în browsere

Exemplul 5 arată cum să creați cod pentru a obține o astfel de graniță.

Exemplul 5: cadru punctat

Diferențele în modul în care browserele desenează chenarele sunt vizibile doar pe fundaluri colorate și linii punctate. Pentru un cadru solid, aspectul stratului în browsere va fi aproape același.

rezumat

Elementele bloc acționează ca material de construcție principal atunci când amenajează pagini web. Astfel de elemente se caracterizează prin faptul că încep întotdeauna pe o linie nouă și ocupă întreaga lățime disponibilă a zonei în care se află.

Specificația CSS definește că înălțimea și lățimea unui element sunt determinate nu numai de valorile înălțimii și lățimii, ci și de valorile marginilor, umpluturii și marginilor. Browserele în acest sens sunt împărțite în două părți: unele susțin specificația în această chestiune, în timp ce altele o ignoră și acționează în felul lor. Acest lucru creează dificultăți pentru dezvoltatorii care doresc să creeze pagini web universale. Vă putem sfătui să folosiți proprietățile de lățime și înălțime doar într-o măsură limitată, deoarece în mod implicit browserul folosește argumentul auto, care forțează ca dimensiunile elementului să fie ajustate automat.

În ce tipuri de elemente sunt împărțite?

Cert este că nu toate fragmentele dintr-o pagină web sunt blocuri. Elementele sunt în general împărțite în bloc și elemente inline. Acestea din urmă pot fi scrise cu ușurință pe o singură linie și nu trebuie să scrieți nimic suplimentar. Un exemplu simplu de element inline este un link. Pot exista oricâte link-uri doriți pe o singură linie, atâta timp cât se potrivesc pe ea.

Elementele bloc au un comportament complet diferit. Fără manipulări suplimentare, ei nu vor putea sta într-un rând. Un exemplu de astfel de bloc este un paragraf, care este specificat de eticheta p. Deci, de ce vă spun toate astea? Acest lucru este spus pentru a înțelege că dimensiunea trebuie setată doar pentru elementele bloc, ceea ce vom face în acest articol.

Orez. 1. Proprietăți de bază care ajută la setarea dimensiunii

Proprietăți simple pentru dimensiuni

Cele mai simple proprietăți care pot fi utilizate pentru înregistrarea dimensiunilor sunt lățimea și înălțimea. Ele înseamnă lățimea și, respectiv, înălțimea. De asemenea, le puteți adăuga prefixele min- și max-. În acest caz, se vor seta lățimea sau înălțimea minimă, respectiv maximă.

Valorile pot fi scrise în pixeli sau procente. Uneori se folosește și unitatea relativă em (înălțimea fontului), dar de obicei este folosită pentru a determina dimensiunea textului. În mod implicit, toate grilele (componentele principale ale unui șablon) în care dimensiunile sunt definite în procente se numesc cauciuc. De asemenea, notația procentuală ajută la adaptarea cu ușurință a șablonului, ceea ce este, de asemenea, foarte important.

Dimensiunea în pixeli

Așa-numitele valori absolute sunt înregistrate în pixeli. De exemplu, întregul site ar trebui să fie conținut într-un container lățime de 1000 de pixeli. Acest bloc este creat și lățimea este scrisă în el.

#container( lățime: 1000px; )

#container(

lățime: 1000px;

Dacă este scrisă astfel, atunci lățimea containerului nu se va schimba în nicio circumstanță. Când schimbați scara sau reduceți fereastra, aceasta va rămâne aceeași. Dimensiunea site-ului nu va scădea și, dacă este necesar, va apărea o bară de defilare orizontală.

Acestea sunt așa-numitele șabloane fixe. Astăzi, multe site-uri încă funcționează astfel. De exemplu, rețeaua socială Vkontakte. Încercați să reduceți dimensiunea ferestrei de pe computer și veți vedea că șablonul nu se schimbă deloc. Desigur, VKontakte are versiuni separate pentru tablete și smartphone-uri, așa că au decis să lase un șablon fix.

Și totuși, capacitatea grilei site-ului de a se adapta la noile ecrane este de mare importanță astăzi, deoarece traficul mobil este în creștere. În acest sens, în ultimii ani, containerul principal pentru cadrul șantierului a primit din ce în ce mai mult o lățime nerigidă. De exemplu, așa:

#container( latime maxima: 1320px; )

#container(

max - latime : 1320px ;

Si ce inseamna asta? Și faptul că, la nevoie, blocul va fi redus. Dacă micșorați fereastra, se va micșora și ea. În același timp, dacă rezoluția ecranului o permite, lățimea va fi de exact 1320 pixeli. Prin reducerea ferestrei, nu veți vedea derulare orizontală.

Cu toate acestea, puteți seta și lățimea minimă aici. Dacă această proprietate este scrisă într-un bloc, nu va deveni mai îngustă decât valoarea specificată. De exemplu:

#container( min-lățime: 600px; )

#container(

min - latime : 600px ;

Dacă lățimea ferestrei devine mai mică de 600 de pixeli, blocul nu se va mai micșora și va apărea aceeași bară de defilare orizontală.

Dimensiunea în procente

Setarea valorii ca procent devine din ce în ce mai populară. Când este utilizat corect, acest lucru poate duce la afișarea excelentă a site-ului pe diferite dispozitive.

De exemplu, ați dorit să faceți o coloană laterală pe site-ul dvs. în stânga și o zonă cu conținutul principal în dreapta, unde vor fi afișate informațiile principale ale textului. De exemplu, un articol, un catalog de produse sau un subiect de forum. Mai întâi trebuie să determinați ce dimensiuni doriți să dați aproximativ acestor containere.

#sidebar( float: stânga; lățime: 28%; ) #conținut( float: dreapta; lățime: 62%; )

#bara laterală(

plutește la stânga;

latime: 28%;

#conţinut(

plutire: dreapta;

latime: 62%;

Drept urmare, bara laterală va primi 28% din lățimea elementului părinte (și în cazul nostru acesta este containerul general), iar blocul principal - 62%. Lățimea lor totală va fi de 90%. Vom lăsa restul de 10 pentru diverse margini externe și interne, rame etc.

Orez. 2. Blocurile de cauciuc își schimbă dimensiunea atunci când fereastra browserului este redusă

Cum afectează umplutura dimensiunile blocurilor?

Când setați lățimea unui bloc folosind proprietatea width, este posibil să nu fie valoarea finală. Cert este că astfel determinăm lățimea doar a părții care conține direct conținut. Trebuie să rețineți că în css padding mărește dimensiunea blocului, la fel ca și chenarul.

Să luăm o coloană laterală. I-am dat 28% din toată lățimea containerului. Dar pentru a preveni lipirea conținutului din bara laterală de margini, trebuie să i se ofere o umplutură. De asemenea, este posibil să doriți să adăugați un chenar la coloana laterală.

#sidebar( umplutură: 10px 20px; chenar: 2px negru solid; )

#bara laterală(

umplutură: 10px 20px;

chenar: 2px negru solid;

Bună ziua, dragi cititori ai site-ului blogului. Astăzi vom vorbi despre cum puteți seta dimensiunile pentru zona de conținut folosind înălțimea și lățimea și despre cum să configurați afișarea acestui conținut în cazul în care există mai mult decât poate încăpea în spațiul alocat pentru acesta (regula de depășire a css cu valori ascunse, scroll, auto).

Textul primului paragraf

Textul celui de-al doilea

Deoarece lățimea și înălțimea pentru aceste paragrafe nu sunt specificate, apoi browserul însuși le calculează în mod implicit pe baza propriei înțelegeri a valorii Auto. Drept urmare, paragrafele ocupă tot spațiul disponibil în lățime, iar în înălțime corespunde înălțimii conținutului conținut în ele.

Să facem acum prima modificare și să codificăm greu lățimea primului paragraf (width:50px):

Textul primei

Textul celui de-al doilea

În general, s-a întâmplat ceea ce s-a așteptat - dimensiunea orizontală a scăzut la valoarea specificată în width:50px, iar înălțimea paragrafului este încă formată datorită height:auto (valoarea implicită). Ca urmare, a devenit astfel încât să poată conține întregul text.

Dar acum să limităm înălțimea containerului folosind height:15px.

Drept urmare, am înțeles că textul nu mai încape în micul nostru container de paragraf și, prin urmare, a intrat în siguranță în zona vecinului său. Acesta este exact ceea ce servește pentru a controla comportamentul conținutului în astfel de situații. regula de preaplin.

Overflow înseamnă „overflow” sau, cu alte cuvinte, „overflow de conținut”. Se vorbește despre ce ar trebui să se întâmple cu conținutul dacă acesta nu se încadrează în zona (container) care i-a fost alocat.

Overflow are mai multe valori valide, dar implicit este vizibil (arata):

Acesta este motivul pentru care, în ultimul nostru exemplu, textul paragrafului de sus s-a suprapus pe cel de jos (overflow:visible a fost folosit în mod implicit - arată conținut care nu se încadrează în container). Am putea folosi cealaltă extremă - overflow:ascuns. Apoi, tot ceea ce nu se potrivește în interiorul containerului nu va fi afișat pe pagina web:

Celelalte două valori ale acestei proprietăți CSS vă permit să defilați conținut care nu se potrivește în container (am observat deja ceva similar când am studiat). Deci, scroll va afișa bare de defilare verticale și orizontale chiar dacă conținutul se încadrează în siguranță în containerul desemnat:

Dar ar fi mult mai logic să folosești valoarea Auto pentru Overflow dacă trebuie să faceți bare de defilare. În acest caz, browserul însuși va calcula când să le afișeze și pe ce axe.

De exemplu, dacă folosim overflow:auto, vom putea derula doar de-a lungul axei în care conținutul nu se încadrează în limitele containerului:

Textul primei

Textul celui de-al doilea

Pentru a rezuma, putem spune că Overflow permite destul de configurați în mod flexibil opțiunile de afișare a conținutuluiîn cazul în care iese din recipientul său. Veți avea ocazia să afișați conținutul care a rămas (vizibil), să nu îl afișați (decupat - ascuns), sau să faceți obligatoriu derularea (scrollul) sau derularea după cum este necesar (auto).

Există și variante de scriere a acestei reguli legate de CSS3, dar care sunt acceptate de toate browserele, ceea ce înseamnă că pot fi folosite în siguranță. Vorbesc despre opțiunile overflow-x și overflow-y, care vă permit să setați sau nu setați derularea pe axe individuale (x - orizontală, y - verticală).

Dacă, de exemplu, trebuie să vă asigurați că defilarea orizontală nu apare niciodată, iar defilarea verticală apare numai atunci când este necesar (dacă conținutul nu se potrivește), atunci pentru elementul HTML va trebui să specificați overflow-x:hidden și overflow- y:auto . Gata, problema se va rezolva, deoarece acest truc cu ureche este acceptat de toate browserele.

Înălțime și lățime ca procent - de ce aveți nevoie de un doctype?

Acum să vorbim despre ce se calculează lățimea specificată ca procent. Amintiți-vă, la începutul articolului am promis să ne concentrez atenția asupra acestui lucru. Ei bine, de fapt, regula lățimii CSS nu face excepție aici și, la fel ca umplutura și marginea, este calculată ca procent din dimensiunea orizontală a containerului de conținut.

Situația este ceva mai confuză cu înălțimea zonei de conținut specificată ca procent. Ar fi logic să presupunem că același lucru este valabil și pentru înălțimea containerului. Dar aici începem să întâlnim dualismul (două modele de comportament) - așa cum au făcut înainte și așa cum fac acum, conform standardelor acceptate. În acest sens, ar trebui să abordăm încă o dată subiectul modurilor de afișare, despre care am discutat mai devreme.

Din punct de vedere istoric, după adoptarea standardelor, mai existau un număr mare de documente generate după vechile reguli ale limbajului pur HTML și trebuia făcut ceva cu ele. În același timp, evolua și (a apărut un limbaj de marcare de stil și unele etichete și atribute au devenit învechite), așa că a fost necesar să se arate cumva browserului după ce standarde ar avea nevoie pentru a analiza acest cod.

Pentru a separa documentele noi (care au luat în considerare toate standardele emergente) și cele vechi (care de multe ori nu țineau cont de nimic altceva decât Html pur), Melkosoft a sugerat să folosească o mică caracteristică din limbajul XML care tocmai apăruse la acel moment. . Această caracteristică a fost o caracteristică de serviciu și se numește acum declarația doctype.

Poate arăta diferit (citiți mai multe despre asta în articolul menționat mai sus), dar această opțiune va funcționa întotdeauna:

Astfel, browserul a primit un marcator al standardelor pe care ar trebui să le folosească pentru a analiza documentul. Dacă este prezentă declarația doctype, atunci aceasta intră în modul standard. Dacă browserul nu găsește doctype pe prima linie a codului documentului (sau este scris incorect, ceea ce este identic cu absența acestuia), atunci trece la așa-numitul modul truc(modul ciudatelor).

Un document care nu are un doctype va apărea în browser ca și cum ar fi foarte vechi (antic). Dacă adăugați o declarație la același document, atunci browserul își va pierde vechimea și începe să lucreze cu codul documentului conform tuturor standardelor acceptate în prezent.

Dar conceptul de antichitate este foarte diferit. De exemplu, cât de vechi poate avea acum popularul browser Google Chrome, care a apărut abia în 2008? IE, desigur, are o istorie destul de bogată. Prin urmare, toate browserele de orice versiune vor afișa documentul fără o declarație (în modul Quirks sau trucuri) la fel ca un vechi, deoarece aceasta este versiunea care este considerată cea de bază.

De ce am vorbit atât de mult despre modurile de afișare a browserului? Dar pentru că pentru aceste două moduri, specificarea înălțimii zonei de conținut ca procent este foarte diferită în raport cu calcularea acestei înălțimi.

Setarea înălțimii (în procente) a zonei cu conținut în modul standard (atunci când tipul de document corect este specificat la începutul documentului) nu va fi deloc posibilă decât dacă înălțimea containerului în care este închis acest conținut (specificată de tu in inaltime procentuala vei fi ignorat).

Conţinut


Dacă eliminăm declarația doctype din codul documentului, vom vedea următoarea imagine:

Pentru modul de respectare a standardelor (o declarație este scrisă la începutul documentului), trebuie mai întâi să setați înălțimea containerului (în cazul nostru, pentru un Div, containerul va fi eticheta Body) și abia apoi browserul va gestiona corect înălțimea:100%:

Conţinut


Drept urmare, am ajuns să avem două abordări complet diferite atunci când setați înălțimea zonei de conținut ca procent, așa că pentru a evita problemele, vă sfătuiesc cu siguranță să specificați declarația doctype corectă la începutul tuturor documentelor dumneavoastră (pagini web). Există un alt exemplu în care diferența dintre modul de a urma standardele și modul de trucuri va fi colosală.

Dacă setați înălțimea și lățimea pentru zona de conținut pentru orice element HTML și, de asemenea, specificați umplutura și lățimea chenarului pentru această etichetă, atunci în modul Quirks (fără o declarație scrisă) în diferite browsere, totul poate fi interpretat în moduri diferite.

În vechiul browser IE 5.5, căptușeala și lățimea cadrului vor conta în interior de la dimensiunile specificate prin înălțime și lățime. Acestea. dimensiunea totală a elementului se va potrivi cu ceea ce este setat în aceste proprietăți CSS (aceasta este o schemă moștenită care nu mai este utilizată).

În alte browsere moderne, umplutura și lățimea chenarului vor fi adăugate la dimensiunile care au fost specificate în înălțime și lățime. Acestea. în acest caz (mod truc fără doctype), dimensiunile specificate inițial ale zonei de conținut vor fi extinse cu cantitatea de umplutură internă și chenar.

Ei bine, dacă scrieți o directivă în document, atunci în absolut toate browserele moderne și vechi aceste probleme cu dualitatea abordării pot fi ușor evitate. În acest caz, și în IE 5.5, umplutura și lățimea chenarului se vor adăuga la dimensiunile zonei de conținut, așa cum este cerut de standardele CSS moderne. Prin urmare, pentru a evita folosiți întotdeauna doctype.

Multă baftă! Ne vedem curând pe paginile site-ului blogului

S-ar putea să fiți interesat

Poziție (absolută, relativă și fixă) - modalități de a poziționa elementele HTML în CSS (reguli stânga, dreapta, sus și jos)
Float și clar în CSS - instrumente de aspect bloc
Padding, Margin and Border - setați umplutura internă și externă în CSS, precum și chenarele pentru toate părțile (sus, jos, stânga, dreapta)
Poziționarea folosind indexul Z și regula cursorului CSS pentru a schimba cursorul mouse-ului
Pentru ce este CSS, cum să conectați foile de stil în cascadă la un document HTML și sintaxa de bază a acestui limbaj
Selectoare de etichetă, clasă, Id și universale, precum și selectoare de atribute în CSS modern
Prioritățile în Css și creșterea lor datorită Important, combinarea și gruparea de selectoare, stiluri de utilizator și autor Stil diferit pentru link-urile interne și externe prin CSS
Unități de dimensiune (pixeli, Em și Ex) și reguli de moștenire în CSS
Afișare (block, none, inline) în CSS - setați tipul de afișare a elementelor HTML pe pagina web

În mod implicit, elementele bloc utilizează lățimea automată. Aceasta înseamnă că elementul va fi întins pe orizontală exact atât cât există spațiu liber. Înălțimea implicită a elementelor blocului este setată automat, de exemplu. Browserul întinde zona de conținut pe verticală, astfel încât să fie afișat tot conținutul. Pentru a seta dimensiuni personalizate pentru zona de conținut a unui element, puteți utiliza proprietățile de lățime și înălțime.

proprietate CSS lăţime vă permite să setați lățimea zonei de conținut a elementului și proprietatea înălţimeînălțimea zonei de conținut:

Rețineți că proprietățile de lățime și înălțime determină numai dimensiunea zonei de conținut; pentru a calcula lățimea totală a unui element bloc, trebuie să adăugați lățimea zonei de conținut, umplutura din stânga și dreapta și lățimea din stânga și marginea dreaptă. Același lucru este valabil și pentru înălțimea totală a elementului, numai toate valorile sunt calculate pe verticală:

Numele documentului

Pentru acest paragraf, vom seta doar lățimea și înălțimea.

Acest paragraf conține, pe lângă lățime și înălțime, o căptușeală interioară, o chenar și o căptușeală exterioară.



Încerca "

Exemplul arată clar că al doilea element ocupă mai mult spațiu decât primul. Dacă calculăm folosind formula noastră, atunci dimensiunile primului paragraf sunt 150x100 pixeli, iar dimensiunile celui de-al doilea paragraf sunt:


Inălțime totală:5px+ 10px+ 100px+ 10px+ 5px= 130px
top
cadru
superior
indentare
înălţime inferior
indentare
inferior
cadru

adică 180x130 pixeli.

Element Overflow

Odată ce ați determinat lățimea și înălțimea unui element, ar trebui să acordați atenție unui punct important - conținutul situat în interiorul elementului poate depăși dimensiunea blocului specificată. În acest caz, o parte din conținut se va extinde dincolo de granițele elementului. Pentru a evita acest moment neplăcut, puteți folosi proprietatea CSS revărsare. Proprietatea overflow îi spune browserului ce să facă dacă conținutul unui bloc depășește dimensiunea acestuia. Această proprietate poate lua una dintre cele patru valori:

  • vizibil - valoarea implicită utilizată de browser. Setarea acestei valori va avea același efect ca și nesetarea proprietății overflow.
  • derulare - adaugă bare de defilare verticale și orizontale unui element.
  • automat - adaugă bare de defilare dacă este necesar.
  • ascuns - ascunde o parte din conținut care se extinde dincolo de limitele elementului bloc.
Numele documentului