Poslední aktualizace: 21.04.2016

Rozměry prvků se nastavují pomocí vlastností width (width) a height (height).

Výchozí hodnota pro tyto vlastnosti je auto , což znamená, že šířku a výšku prvku určuje prohlížeč. Rozměry můžete také explicitně nastavit pomocí jednotek (pixely, ems) nebo procent:

Šířka: 150px šířka: 75% výška: 15m;

Pixely definují přesnou šířku a výšku. Jednotka em závisí na výšce písma v prvku. Pokud je velikost písma prvku například 16 pixelů, pak 1 em pro tento prvek bude 16 pixelů. To znamená, že pokud je šířka prvku nastavena na 15em, pak ve skutečnosti bude 15 * 16 = 230 pixelů. Pokud prvek nemá definovanou velikost písma, bude převzata ze zděděných parametrů nebo výchozích hodnot.

Procentuální hodnoty vlastnosti width se vypočítají na základě šířky prvku kontejneru. Pokud je například šířka prvku body na webové stránce 1000 pixelů a prvek je v něm vnořen

má šířku 75 %, pak skutečná šířka tohoto bloku
je 1000 * 0,75 = 750 pixelů. Pokud uživatel změní velikost okna prohlížeče, změní se také šířka prvku body a podle toho i šířka vnořeného bloku div.

Procentuální hodnoty pro vlastnost height fungují podobně jako vlastnost width, pouze se výška nyní počítá z výšky prvku kontejneru.

Například:

Rozměry v CSS3

Současně se skutečné rozměry prvku mohou nakonec lišit od těch, které jsou nastaveny ve vlastnostech šířka a výška. Například:

Rozměry v CSS3

Jak můžete vidět na snímku obrazovky, ve skutečnosti hodnota vlastnosti width - 200px - určuje pouze šířku vnitřního obsahu prvku a pod samotným blokem prvku bude přidělen prostor, jehož šířka se rovná šířce vnitřního obsahu (vlastnost šířka) + odsazení (vlastnost odsazení) + šířce ohraničení (vlastnost border-width) + okraje (vlastnost margin). To znamená, že prvek bude mít šířku 230 pixelů a šířka bloku prvku s přihlédnutím k okrajům bude 250 pixelů.

Takové výpočty by měly být brány v úvahu při určování rozměrů prvků.

Používáním doplňková sada vlastnosti, můžete nastavit minimální a maximální velikosti:

    min-width: minimální šířka

    max-width: maximální šířka

    min-height: minimální výška

    max-height: maximální výška

minimální šířka: 200 pixelů šířka: 50 %; maximální šířka: 300 pixelů

V tomto případě je šířka prvku rovna 50 % šířky kontejnerového prvku, nesmí však být menší než 200 pixelů a více než 300 pixelů.

Předefinování šířky bloku

Vlastnost box-sizing umožňuje přepsat nastavené velikosti prvků. Může nabývat jedné z následujících hodnot:

    content-box : Výchozí hodnota vlastnosti, ve které prohlížeč přidá šířku okraje a odsazení k hodnotám vlastností width a height, aby určil skutečnou šířku a výšku prvků.

    padding-box: říká webovému prohlížeči, že šířka a výška prvku by měla zahrnovat odsazení jako součást jeho hodnoty. Řekněme například, že máme následující styl:

    Šířka: 200px výška: 100px; okraj: 10px výplň: 10px ohraničení: 5px solid #ccc; barva pozadí: #eee; box-sizing: vycpávka-box;

    Zde bude skutečná šířka vnitřního obsahu bloku 200px (width) - 10px (padding-left) - 10px (padding-right) = 180px.

    Stojí za zmínku, že většina moderní prohlížeče tuto vlastnost nepodporují.

    border-box: říká webovému prohlížeči, že šířka a výška prvku by měla zahrnovat odsazení a okraje jako součást jeho hodnoty. Řekněme například, že máme následující styl:

    Šířka: 200px výška: 100px; okraj: 10px výplň: 10px ohraničení: 5px solid #ccc; barva pozadí: #eee; box-sizing: border-box;

    Zde bude skutečná šířka vnitřního obsahu bloku 200px (šířka) - 10px (okraj-vlevo) - 10px (odsazení-vpravo) - 5px (okraj-vlevo-šířka) - 5px (okraj-vpravo-šířka) = 170 pixelů.

Definujme například dva boxy, které se liší pouze hodnotou vlastnosti box-sizing:

Rozměry v CSS3

Určení skutečné velikosti v CSS 3
Určení skutečné velikosti v CSS 3

V prvním případě se při určování velikosti bloku k tloušťce ohraničení přidají vlastnosti width a height a také padding a padding, takže první blok bude velký.

Popis

Nastavuje výšku bloku nebo vyměnitelných prvků (například značky ). Výška nezahrnuje tloušťku okrajů kolem prvku, hodnotu odsazení a okrajů.

Pokud obsah bloku překročí zadanou výšku, výška prvku zůstane nezměněna a obsah se zobrazí nad ním. Tato funkce může způsobit překrývání obsahu prvku, když jsou prvky v kódu HTML sekvenční. Abyste tomu zabránili, přidejte do stylu prvku overflow : auto.

Syntax

výška: hodnota | zájem | auto | zdědit

Hodnoty

Hodnoty akceptují jakékoli jednotky délky CSS, jako jsou pixely (px), palce (in), body (pt) atd. Při použití procentuálního zápisu se výška prvku vypočítá na základě výšky nadřazeného prvku. Pokud není nadřazený objekt explicitně zadán, bude okno prohlížeče fungovat jako nadřazené. auto nastaví výšku podle obsahu prvku

HTML5 CSS2.1 IE Cr Op Sa Fx

výška

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Výsledek tento příklad znázorněno na Obr. jeden.

Rýže. 1. Použití vlastnosti height

Objektový model

document.getElementById("elementID ").style.height

Prohlížeče

Prohlížeč internet Explorer 6 nesprávně definuje výšku jako minimální výšku .

V režimu quirk Internet Explorer až do verze 8.0 včetně nesprávně vypočítá výšku prvku, aniž by k němu přidal odsazení, okraje a okraje.

Internet Explorer do verze 7.0 nepodporuje dědičnou hodnotu.

Ve výchozím nastavení prvky bloku používají automatickou šířku. To znamená, že prvek bude vodorovně roztažen přesně tak, jak je. volný prostor. Výška blokových prvků je standardně nastavena automaticky, tzn. prohlížeč roztáhne oblast obsahu ve svislém směru tak, aby se zobrazil veškerý obsah. Chcete-li nastavit vlastní velikosti pro oblast obsahu prvku, můžete použít vlastnosti width a height.

Vlastnost CSS width umožňuje nastavit šířku oblasti obsahu prvku a vlastnost height umožňuje nastavit výšku oblasti obsahu:

Pamatujte, že vlastnosti width a height definují pouze velikost oblasti obsahu. Chcete-li vypočítat celkovou šířku prvku na úrovni bloku, musíte přidat šířku oblasti obsahu, levé a pravé odsazení a šířku levý a pravý okraj. Totéž platí pro celkovou výšku prvku, pouze všechny hodnoty se počítají svisle:

Název dokumentu

U tohoto odstavce nastavte pouze šířku a výšku.

Tento odstavec obsahuje kromě šířky a výšky také odsazení, ohraničení a odsazení.

Snaž se "

Příklad jasně ukazuje, že druhý prvek zabírá více místa než první. Pokud počítáme podle našeho vzorce, pak jsou rozměry prvního odstavce 150x100 pixelů a rozměry druhého odstavce jsou:


Celková výška:5px+ 10 pixelů+ 100 pixelů+ 10 pixelů+ 5px= 130 pixelů
horní
rám
horní
Odrážka
výška dolní
Odrážka
dolní
rám

tedy 180x130 pixelů.

přetečení prvku

Poté, co jste definovali šířku a výšku prvku, měli byste věnovat pozornost jednomu důležitému bodu – obsah umístěný uvnitř prvku může přesáhnout zadanou velikost bloku. V tomto případě bude část obsahu přesahovat hranice prvku, abyste se vyhnuli tomuto nepříjemnému momentu, můžete použít Vlastnost CSS přetékat. přepadová vlastnostříká prohlížeči, co má dělat, pokud obsah bloku překročí jeho velikost. Tato vlastnost může nabývat jedné ze čtyř hodnot:

  • viditelný je výchozí hodnota používaná prohlížečem. Zadání této hodnoty bude mít stejný účinek jako nenastavíte vlastnost přetečení.
  • scroll – Přidá k prvku vertikální a horizontální posuvníky.
  • auto - V případě potřeby přidá posuvníky.
  • skrytý - skryje část obsahu, který přesahuje hranice prvku bloku.
Název dokumentu

V tomto článku se podíváme na to, jak v CSS můžete nastavit výšku bloku v procentech jeho šířky. Aplikaci této technologie zvážíme na příkladu vytvoření Bootstrap karuselu (posuvníku) z obrázků různých velikostí.

Vytvoření bloku s výškou, která má určité procento jeho šířky

  1. Vytvořte HTML strukturu ze 2 bloků:
    První blok má 2 třídy. Pomocí třídy reagující na položky nastavme blok na relativní umístění. Toto musí být provedeno, aby blok 2 (který bude mít absolutní umístění) se nachází relativně k němu. Kromě toho se tato třída také používá k předřazení pseudoelementu:before před obsah odpovídajících prvků (item-responsive). Tento prvek nastaví požadovanou výšku bloku vzhledem k jeho šířce pomocí vlastnosti CSS padding-top. Trik tato metoda je to, pokud je vlastnost padding nastavena na hodnotu ne v pixelech, ale v procentech, pak to prohlížeč vypočítá vzhledem k jeho šířce. Takto můžete získat blok s požadovanou výškou. Dalším krokem je udělit bloku 2 absolutní polohu a zarovnat jej s prvním blokem.
  2. Přidejte na stránku následující kód CSS: .item-responsive ( position: relativní; /* relativní umístění */ ) .item-responsive:before ( display: block; /* zobrazení prvku jako bloku */ content: "" ; /* pseudoelement obsahu */ šířka: 100 %; /* šířka prvku */ ) .item-16by9 ( padding-top: 56,25 %; /* (9:16)*100 % */ ) .item-responsive >.obsah ( poloha: absolutní; /* absolutní poloha prvku */ /* poloha prvku */ nahoře: 0; vlevo: 0; vpravo: 0; dole: 0; ) /* Volitelně (u bloků, které mají tyto třídy) */ .item -4by3 ( padding-top: 75 %; /* (3:4)*100 % */ ) .item-2by1 ( padding-top: 50 %; /* (1:2)* 100 % */ ) .item -1by1 ( padding-top: 100 %; /* (1:1)*100 % */ )

Použití výše uvedené technologie při vytváření Bootstrap karuselu

Pokud nejste obeznámeni s Bootstrap a chcete vědět, co to je, můžete použít článek Úvod do Bootstrapu.

Uvažujme příklad, ve kterém použijeme výše uvedenou strukturu HTML a kód CSS k zobrazení snímků karuselu Bootstrap.

Jako obrázky použijeme následující soubory:

  • carousel_1.jpg (šířka = 736px, výška = 552px, poměr stran (výška k šířce) = 1,33);
  • carousel_2.jpg (šířka = 1155px, výška = 1280px, poměr stran (výška k šířce) = 0,9);
  • carousel_3.jpg (šířka = 1846px, výška = 1028px, poměr stran (výška k šířce) = 1,8);
  • carousel_4.jpg (šířka = 1140px, výška = 550px, poměr stran (výška k šířce) = 2,07);
  • carousel_5.jpg (šířka = 800px, výška = 600px, poměr stran (výška k šířce) = 1,33);

Obrázky budou nastaveny jako pozadí. To umožní karuselu Bootstrap 3 používat obrázky s různými poměry stran.


Carousel HTML značení:

Carousel CSS kód:

Item-responsive ( position: relativní; /* relativní umístění */ ) .item-responsive:before ( display: block; /* display element as block */ content: ""; /* pseudo-element content */ width: 100 %; /* šířka prvku */ ) .item-16by9 ( padding-top: 56,25 %; /* (9:16)*100 % */ ) .item-responsive>.content ( pozice: absolutní; /* absolutní prvek pozice * / /* pozice prvku */ nahoře: 0; vlevo: 0; vpravo: 0; dole: 0; velikost pozadí: obal !důležité; )



Většina prvků v HTML má obvykle určitou výšku a šířku. Nastavení těchto parametrů v CSS je poměrně snadné a ve výsledku praktické. K tomu slouží již známé vlastnosti výšky a šířky. V této lekci však budeme hovořit o nepevné šířce a výšce nebo gumě, tedy v závislosti na šířce samotného okna. Začněme)

šířka

Tato vlastnost nastavuje specific Šířka HTMLživel. Hodnotu lze zadat v pixelech, procentech (jiné hodnoty se používají méně často).

Můj blok (
šířka: 400px /* šířka 400px */

}
Nebo v procentech:

MyBlockPercent50 (
šířka: 50% /* šířka 50 % šířky rámečku nebo okna (pokud není uvnitř rámečku s pevnou šířkou) */
barva: #f1f1f1; /* světle šedý blok */
}
Podle toho dostaneme blok, který bude mít vždy polovinu šířky rodiče.

Nyní o tom nejzajímavějším. šířka má parametry, které určují maximální nebo minimální šířku. Toto jsou vlastnosti min-width a max-width. Můžete jim také zadat hodnoty v pixelech, procentech a dalších hodnotách. Tyto vlastnosti jsou základem pro vytváření pryžových a adaptivních designů ().

Příklad adaptivní design . Podívejte se, změna velikosti okna prohlížeče:

Samozřejmě předskakuji. Ale musíte pochopit, co a proč potřebujete. Ano a dotkněte se příjemného výsledku)

Jak jste již pochopili, pomocí těchto vlastností můžete pružněji zacházet s prvky na stránce, aniž by došlo k narušení obsahu. Jak to funguje? Podívejme se na kód.

Blokovat (
maximální šířka: 800 pixelů
barva pozadí: #f1f1f1; /* světle šedý blok */
výplň: 20px
}
Blok s těmito vlastnostmi s rodičovskou šířkou 200 pixelů nabude odpovídající hodnoty, ale pokud je rodičovský blok větší, např. 1000 pixelů, pak již nabude své maximální šířky, tedy 800 pixelů. To znamená, že se bude zvětšovat, dokud nebude šířka rodičovského bloku 801 pixelů nebo více. Dále, blok bloku bude mít vždy maximální povolenou šířku 800px.

výška

Tato vlastnost je zodpovědná za výšku prvku. Jako hodnota jsou použity všechny stejné vhodné pro CSS. Nejčastěji stejná procenta a pixely.

info(
výška: 200px; /* výška bloku bude 200px */
výplň: 10px /* opakujte o odsazení uvnitř bloku =) */
}
Což je logické, pro výšku můžete zadat hodnoty minimální a maximální výšky prvku s vlastnostmi min-height a max-height.

info(
maximální výška: 360 pixelů /* maximální výška bloku */
min-výška: 120px; /* minimální výška bloku */
}
Jak vidíte, vlastnosti mohou být a často by měly být používány ve dvojicích.
Nebo zkombinujte hodnoty:

Obsah(
výška: 100 %; /* výška bude vždy 100 % */
šířka: 760px /* ale šířka je pevně nastavena na 760 pixelů */
}
Pokud máte nějaké dotazy, pište do komentářů!

Děkuji za pozornost! Hodně štěstí v rozložení!)