Uobičajeno postavljeno pitanje u web dizajnu je "kako postaviti visinu elementa na 100%"?
Ovo može izgledati kao jednostavan odgovor. Jednostavno upotrijebite CSS da biste postavili visinu elementa na 100%, ali to se uvijek ne proteže kako bi odgovarao cijelom prozoru preglednika. Doznajemo zašto se to dogodi i što možete učiniti kako biste postigli ovaj vizualni stil.
Piksela i postotaka
Kada definirate visinu elementa pomoću svojstva CSS i vrijednosti koja koristi piksel, taj će element u pregledniku zauzeti toliko vertikalnog prostora. Na primjer, odlomak s a
visina: 100px;
u vašem dizajnu zauzimaju 100 piksela vertikalnog prostora. Nije bitno koliko je vaš prozor preglednika veći, ovaj element bit će 100 piksela visine. Postotci različito funkcioniraju od piksela. Prema specifikaciji W3C, visine postotka izračunate su u odnosu na visinu kontejnera. Dakle, ako stavite stavku s a visina: 50%;
unutar diva s visinom od 100 piksela, odlomak će biti 50 piksela visine, što je 50% njegovog roditeljskog elementa. Ako izrađujete web stranicu i imate stupac koji želite preuzeti punu visinu prozora, prirodni je naglasak dodati visina: 100%;
na taj element. Uostalom, ako postavite širina
do širina: 100%;
element će zauzeti cijeli horizontalni prostor stranice, tako da visina
treba raditi isto, zar ne? Nažalost, to uopće nije slučaj. Da biste shvatili zašto se to dogodi, morate razumjeti kako pretraživači tumače visinu i širinu. Web preglednici izračunavaju ukupnu dostupnu širinu kao funkciju otvaranja prozora preglednika. širina
Ako ne postavite nikakve vrijednosti na svoje dokumente, preglednik će automatski tijek sadržaja kako bi popunio cijelu širinu prozora (100% širina je zadana). Visina vrijednosti izračunava se različito od širine. U stvari, preglednici ne procjenjuju visinu uopće osim ako sadržaj nije toliko dugo da ide izvan okvira (time zahtijeva trake za pomicanje) ili ako web dizajner postavlja apsolutni element elementa na stranici. visina
Inače, preglednik jednostavno dopušta protok sadržaja unutar širine prozora dok se ne završi. Visina zapravo uopće nije izračunata. Problemi nastaju kada postavite visinu postotka na elementu koji ima elemente roditelja bez postavljanja visine - drugim riječima, osnovni elementi imaju zadanu vrijednost. visina: auto;
Zapravo ste tražili da preglednik izračuna visinu od nedefinirane vrijednosti. Budući da bi bila jednaka null vrijednosti, rezultat je da preglednik ne radi ništa. Ako želite postaviti visinu na web stranicama na postotak, morate postaviti visinu svaki roditeljski element onog kojeg želite definirati visinu. Drugim riječima, ako imate ovakvu stranicu: Sadržaj ovdje
Vjerojatno hoćeš div
i stavak u njemu da ima 100% visine, ali taj div zapravo ima dva roditeljski elementi: i. Kako bi se odredila visina div
do relativne visine, morate postaviti visinu tijelo
i hTML
elementi kao dobro. Zato biste trebali upotrebljavati CSS da biste postavili visinu ne samo divova, već i tijela i HTML elemenata. To može biti izazov jer možete brzo preopteretiti sve što je postavljeno na 100% visinu, samo da bi se postigao taj željeni učinak. Sada kad znate postaviti visinu elemenata svoje stranice na 100%, može biti uzbudljivo ići na sve stranice, ali postoji nekoliko stvari o kojima biste trebali biti svjesni: Da biste to popravili, možete podesiti i visinu elementa. Ako ga postavite auto,
pojavit će se gumbi za pomicanje ako su potrebni, ali nestati kada to nisu.To popravlja vizualni prekid, ali dodaje scrollbars gdje ih možda ne želite. Drugi način na koji možete uhvatiti se u koštac s ovim izazovom jest eksperimentirati s CSS Viewport Unitom. Koristeći mjernu jedinicu visine visine prozora možete veličinu elemenata zauzimati određenu visinu prozora i to će se mijenjati dok se promjena okvira mijenja! Ovo je odličan način da dobijete 100% vizualne visine na stranici, ali im ipak budete fleksibilni za različite uređaje i veličine zaslona. Zašto postotak visine ne uspije
Neke stvari koje treba primijetiti kada radite s 100% visinama
Upotreba jedinica za prikaz