Како да се користи CSS за поставување на висината на HTML елементот до 100%

Најчесто поставувано прашање во дизајнот на веб-страниците е "како ја поставувате висината на елементот до 100%"?

Ова може да изгледа како лесен одговор. Вие едноставно го користите CSS за да ја поставите висината на елементот на 100%, но тоа не секогаш се протега на тој елемент за да одговара на целиот прозорец на прелистувачот. Ајде да дознаеме зошто ова се случува и што можете да направите за да го постигнете овој визуелен стил.

Пиксели и проценти

Кога ќе ја дефинирате висината на елементот со користење на својството CSS и вредност која користи пиксели, тој елемент ќе зазема многу вертикален простор во прелистувачот.

На пример, став со висина: 100px; ќе потрае до 100 пиксели вертикален простор во вашиот дизајн. Не е важно колку е поголем вашиот прозорец на прелистувачот, овој елемент ќе биде 100 пиксели во висина.

Процентите работат поинаку од пиксели. Според спецификацијата на W3C, висината на процентот се пресметува во однос на висината на контејнерот. Значи, ако ставите став со висина: 50%; во делот со висина од 100 пиксели, ставот ќе биде 50 пиксели во висина, што е 50% од родителскиот елемент.

Зошто процентните височини не успеваат

Ако дизајнирате веб-страница и имате колона за која би сакале да ја преземете целосната висина на прозорецот, природниот наклон е да додадете висина: 100%; на тој елемент. Впрочем, ако ја поставите ширината на ширина: 100%; елементот ќе го заземе целосниот хоризонтален простор на страницата, па висината треба да работи на истата, нели? За жал, воопшто не е случај.

За да разберете зошто тоа се случи, мора да разберете како прелистувачите интерпретираат висина и ширина. Веб прелистувачите ја пресметуваат вкупната широчина достапна како функција за тоа колку е отворен прозорецот на прелистувачот. Ако не поставите вредности на ширина на вашите документи, прелистувачот автоматски ќе ја проследи содржината за да ја пополни целата ширина на прозорецот (стандардно е 100% ширина).

Висината вредност се пресметува поинаку од ширината. Всушност, прелистувачите воопшто не ја оценуваат висината, освен ако содржината не е толку долга што излегува надвор од визирот (на тој начин се потребни ленти за лизгање) или ако веб дизајнерот постави апсолутна висина за елемент на страницата. Инаку, прелистувачот едноставно овозможува проток на содржина во ширината на прозорецот за гледање додека не дојде до крај. Висината не е всушност пресметана воопшто.

Проблемите се јавуваат кога поставувате проценти висина на елементот кој има родителски елементи без поставување височини - со други зборови, родителските елементи имаат стандардна висина: авто; . Вие, всушност, барате од прелистувачот да пресмета висина од недефинирана вредност. Бидејќи тоа ќе биде еднаква на нула вредност, резултатот е дека прелистувачот не прави ништо.

Ако сакате да поставите висина на вашите веб-страници со процент, треба да ја поставите висината на секој родителски елемент од оној кој сакате да ја дефинирате висината. Со други зборови, ако имате ваква страница:





Содржина тука



Вие најверојатно сакате div и ставот во неа да имаат 100% висина, но тој div всушност има два родителски елементи:

и. За да ја дефинирате висината на div на релативна висина, мора да ја поставите висината на телото и html елементите.

Значи, ќе треба да го користите CSS за да ја поставите висината на не само div, туку и телото и html елементите. Ова може да биде предизвик, бидејќи можете брзо да се преоптоварите со се што е поставено на 100% висина, само за да го постигнете саканиот ефект.

Некои работи да се забележи кога работите со 100% височини

Сега кога знаете како да ја поставите висината на елементите на вашата страница на 100%, може да биде возбудливо да излезете и да го направите тоа на сите ваши страници, но има неколку работи што треба да ги знаете:

За да го надминете ова, можете да ја поставите и висината на елементот. Ако го поставите на автоматски, ќе се појават ленти за скролување ако се потребни, но исчезнуваат кога не се. Тоа го поправа визуелниот прекин, но додава листи за лизгање каде што не ги сакате.

Користење на единици за преглед

Друг начин на кој можете да се справите со овој предизвик е да експериментирате со единиците за преглед на CSS. Со користење на единица за мерење висина на висина , можете да ги измените елементите за да ја преземете дефинираната висина на визирот, а тоа ќе се промени при промена на приказот! Ова е одличен начин да ги добиете визуелните визуелни елементи од 100% висина на страница, но сепак треба да бидат флексибилни за различни уреди и големината на екранот.