Често задаван въпрос в дизайна на уебсайтове е "как да настроите височината на даден елемент на 100%"?
Това може да изглежда като лесен отговор. Можете просто да използвате CSS, за да зададете височината на елемент на 100%, но това не винаги се простира, за да се побере в целия прозорец на браузъра. Нека да разберем защо се случва това и какво можете да направите, за да постигнете този визуален стил.
Пиксели и проценти
Когато дефинирате височината на елемент, използващ собствеността CSS и стойност, която използва пиксели, този елемент ще заема толкова много вертикално пространство в браузъра. Например, параграф с a
височина: 100px;
ще заемат 100 пиксела вертикално пространство във вашия дизайн. Няма значение колко по-голям е браузърът ви, този елемент ще бъде с височина 100 пиксела. Процентът работи по различен начин от пикселите. Съгласно спецификацията на W3C процентните височини се изчисляват по отношение на височината на контейнера. Така че, ако поставите параграф с a височина: 50%;
в рамките на div с височина 100px, параграфът ще бъде 50 пиксела височина, което е 50% от основния елемент. Ако проектирате уеб страница и имате колона, която искате да заемате с пълната височина на прозореца, естественият наклон е да добавите височина: 100%;
към този елемент. В края на краищата, ако зададете широчина
да се ширина: 100%;
елементът ще заема цялото хоризонтално пространство на страницата, така че височина
трябва да работи същото, нали? За съжаление, това изобщо не е така. За да разберете защо се случва това, трябва да разберете как браузърите интерпретират височината и ширината. Уеб браузърите изчисляват общата налична ширина, като функция на това колко широк е прозорецът на браузъра. широчина
Ако не зададете никакви стойности в документите си, браузърът автоматично ще поток съдържанието, за да запълни цялата ширина на прозореца (100% ширина е по подразбиране). Стойността на височината се изчислява по различен начин от ширината. В действителност, браузърите изобщо не оценяват височината, освен ако съдържанието не е толкова дълго, че излиза извън прозореца за показване (така че се изискват ленти за превъртане) или ако уеб дизайнерът задава абсолютен елемент на страницата. височина
В противен случай, браузърът просто позволява потока на съдържанието в рамките на ширината на прозореца за показване, докато не достигне края си. Височината изобщо не се изчислява. Проблеми възникват, когато зададете процентна височина на елемент, който съдържа родителски елементи без високи стойности - с други думи, родителските елементи имат по подразбиране. височина: автоматично;
Вие всъщност искате от браузъра да изчисли височина от недефинирана стойност. Тъй като това би се равнявало на нулева стойност, резултатът е, че браузърът не прави нищо. Ако искате да зададете височина на уеб страниците си с процент, трябва да зададете височината на всеки родителски елемент от този, който искате дефинираната височина. С други думи, ако имате страница по този начин: Съдържание тук
Вероятно искате Разделение
и параграф в нея да има 100% височина, но това всъщност има две родителски елементи: и. За да определите височината на Разделение
до относителна височина, трябва да зададете височината на тяло
и HTML
и елементи. Така че ще трябва да използвате CSS, за да зададете височината не само на div, но и на тялото и HTML елементи. Това може да бъде предизвикателство, тъй като можете бързо да се претоварите с всичко, което е настроено на 100% височина, само за да постигнете желания ефект. Сега, когато знаете как да зададете височината на елементите на страницата си на 100%, може да бъде вълнуващо да излезете и да направите това на всичките си страници, но има няколко неща, които трябва да сте наясно: За да коригирате това, можете да зададете и височината на елемента. Ако го зададете Автоматичен,
ще се появят превъртащи ленти, ако те са необходими, но изчезват, когато не са.Това поправя визуалното пречупване, но добавя и превъртащи ленти, където може да не ги искате. Друг начин да се справите с това предизвикателство е да експериментирате с CSS Viewport Units. Чрез използването на измервателната единица на височината на изгледа, можете да размерите елементи, за да заемате определена височина на прозореца за преглед и това ще се промени, когато прозорецът за прозорци се промени! Това е чудесен начин да получите визуализацията на 100% височина на дадена страница, но все пак да имате гъвкавост за различни устройства и размери на екрана. Защо процентните височини не са успели
Някои неща, които трябва да обърнете внимание, когато работите със 100% височини
Използване на елементи от Viewport