100% înălțime a paginii Web cu css

100% înălțime a paginii Web cu css
Nu știu cumva pe cineva, dar periodic am probleme cu faptul că pagina web ocupă întreaga înălțime a ecranului. Am un div care vreau să mă întind la înălțimea completă a paginii. Dar nu se întinde. De ce? Astăzi, împreună cu tine, voi încerca să-mi dau seama.

Să presupunem că avem acest HTML:

Și astfel de CSS (în fișierul style.css):


Puteți deschide HTML în browser pentru a vedea că div nu este întins pe toată înălțimea paginii, chiar dacă am indicat „height: 100%;“ în CSS. De ce întrebi?

Faptul este că HTML este doar un set de containere imbricate unul în celălalt. Pe pagina noastră există un container rădăcină , conține , În el, la rândul său, containerul

. Când punem conținutul într-unul din containere, acesta (și toate containerele care îl conțin) este întins pentru a se adapta conținutului său. Asta este, atunci când vom introduce textul în
, se întinde și, în consecință, se întinde pe toate containerele în care se află (în cazurile noastre și ).

Atunci când adăugăm regula "min-height: 100%;" la

. în mod esențial, spunem diva că trebuie să se întindă pe întreaga înălțime a recipientului care o conține. În acest exemplu, acesta este containerul . Astfel, containerul
au început să ocupe 100% din înălțimea containerului . Acum se ridică întrebarea: care este înălțimea containerului ? De fapt, cum ar fi. deoarece celălalt nu a fost indicat! Aceasta înseamnă, de fapt, adăugarea stilului "min-height: 100%";
El îi spune să fie la fel de înalt ca și el.

Astfel, pentru a obține rezultatul dorit, este necesară creșterea înălțimii containerului . Aici ne confruntăm cu aceeași problemă în container - înălțimea sa este egală cu înălțimea ! Astfel, pentru a corecta problema (adică pentru a forța containerul

întindeți la înălțimea totală a paginii), trebuie să specificăm containerele și , astfel încât acestea să ocupe întreaga înălțime a paginii.

Asta este, schimbarea CSS la următoarele:


Rezultatul este că conținutul va ocupa întreaga înălțime a paginii. Un fapt important, dacă conținutul are o înălțime mai mare decât înălțimea paginii, va apărea o bară de defilare. Pentru a face acest lucru, în loc de înălțime: 100%; ultima linie utilizează min-height: 100%; În caz contrar, conținutul se va încheia la sfârșitul paginii.

Articole similare