Posledná aktualizácia: 21.04.2016

Rozmery prvkov sa nastavujú pomocou vlastností width (width) a height (height).

Predvolená hodnota pre tieto vlastnosti je auto , čo znamená, že prehliadač určuje šírku a výšku prvku. Rozmery môžete tiež explicitne nastaviť pomocou jednotiek (pixelov, ems) alebo percent:

Šírka: 150 pixelov šírka: 75% výška: 15em;

Pixely definujú presnú šírku a výšku. Jednotka em závisí od výšky písma v prvku. Ak je veľkosť písma prvku napríklad 16 pixelov, potom 1 em pre tento prvok bude 16 pixelov. To znamená, že ak je šírka prvku nastavená na 15em, v skutočnosti to bude 15 * 16 = 230 pixelov. Ak prvok nemá definovanú veľkosť písma, bude prevzatá zo zdedených parametrov alebo predvolených hodnôt.

Percentuálne hodnoty vlastnosti width sa vypočítajú na základe šírky prvku kontajnera. Ak je napríklad šírka prvku body na webovej stránke 1 000 pixelov a prvok je v ňom vnorený

má šírku 75 %, potom skutočná šírka tohto bloku
je 1 000 * 0,75 = 750 pixelov. Ak používateľ zmení veľkosť okna prehliadača, zmení sa aj šírka prvku body a podľa toho aj šírka vnoreného bloku div.

Percentuálne hodnoty pre vlastnosť height fungujú podobne ako vlastnosť width, len teraz sa výška počíta z výšky prvku kontajnera.

Napríklad:

Rozmery v CSS3

Súčasne sa skutočné rozmery prvku môžu líšiť od rozmerov nastavených vo vlastnostiach šírky a výšky. Napríklad:

Rozmery v CSS3

Ako môžete vidieť na snímke obrazovky, v skutočnosti hodnota vlastnosti width - 200px - určuje iba šírku vnútorného obsahu prvku a pod samotným blokom prvku bude pridelený priestor, ktorého šírka sa rovná šírke vnútorného obsahu (vlastnosť šírka) + padding (vlastnosť padding) + šírka okraja (vlastnosť border-width) + okraje (vlastnosť okraj). To znamená, že prvok bude mať šírku 230 pixelov a šírka bloku prvku, berúc do úvahy okraje, bude 250 pixelov.

Takéto výpočty by sa mali brať do úvahy pri určovaní rozmerov prvkov.

Používaním doplnková sada vlastnosti, môžete nastaviť minimálnu a maximálnu veľkosť:

    min-width: minimálna šírka

    max-width: maximálna šírka

    min-height: minimálna výška

    max-height: maximálna výška

minimálna šírka: 200 pixelov šírka: 50 %; maximálna šírka: 300 pixelov

V tomto prípade sa šírka prvku rovná 50 % šírky kontajnerového prvku, nemôže však byť menšia ako 200 pixelov a väčšia ako 300 pixelov.

Predefinovanie šírky bloku

Vlastnosť box-sizing vám umožňuje prepísať nastavené veľkosti prvkov. Môže nadobudnúť jednu z nasledujúcich hodnôt:

    content-box : Predvolená hodnota vlastnosti, v ktorej prehliadač pridá šírku okraja a výplň k hodnotám vlastností width a height, aby určil skutočnú šírku a výšku prvkov.

    padding-box: informuje webový prehliadač, že šírka a výška prvku by mala zahŕňať výplň ako súčasť jeho hodnoty. Povedzme napríklad, že máme nasledujúci štýl:

    Šírka: 200 pixelov výška: 100px; okraj: 10px výplň: 10px orámovanie: 5px plné #ccc; farba pozadia: #eee; box-sizing: polstrovanie-box;

    Tu bude skutočná šírka vnútorného obsahu bloku 200px (width) - 10px (padding-left) - 10px (padding-right) = 180px.

    Stojí za zmienku, že väčšina moderné prehliadače nepodporujú túto vlastnosť.

    border-box: informuje webový prehliadač, že šírka a výška prvku by mala zahŕňať výplň a okraje ako súčasť jeho hodnoty. Povedzme napríklad, že máme nasledujúci štýl:

    Šírka: 200 pixelov výška: 100px; okraj: 10px výplň: 10px orámovanie: 5px plné #ccc; farba pozadia: #eee; box-sizing: border-box;

    Tu bude skutočná šírka vnútorného obsahu bloku 200px (šírka) - 10px (okraj-vľavo) - 10px (okraj-vpravo) - 5px (okraj-vľavo-šírka) - 5px (okraj-vpravo-šírka) = 170 pixelov.

Napríklad definujme dva boxy, ktoré sa líšia iba hodnotou vlastnosti box-sizing:

Rozmery v CSS3

Určenie skutočnej veľkosti v CSS 3
Určenie skutočnej veľkosti v CSS 3

V prvom prípade sa pri určovaní veľkosti bloku k hrúbke okraja pripočítajú vlastnosti width a height, ako aj padding a padding, takže prvý blok bude veľký.

Popis

Nastavuje výšku bloku alebo vymeniteľných prvkov (medzi ne patrí napríklad značka ). Výška nezahŕňa hrúbku okrajov okolo prvku, hodnotu výplne a okrajov.

Ak obsah bloku presiahne zadanú výšku, výška prvku zostane nezmenená a obsah sa zobrazí nad ním. Táto funkcia môže spôsobiť prekrývanie obsahu prvkov, keď sú prvky v kóde HTML sekvenčné. Ak tomu chcete zabrániť, pridajte do štýlu prvku overflow : auto.

Syntax

výška: hodnota | úrok | auto | dediť

hodnoty

Hodnoty sú akékoľvek jednotky dĺžky akceptované v CSS, ako sú pixely (px), palce (in), body (pt) atď. Pri použití percentuálneho zápisu sa výška prvku vypočíta v závislosti od výšky nadradeného prvku. . Ak rodič nie je explicitne zadaný, okno prehliadača sa chová ako rodič. auto nastaví výšku podľa 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ýsledok tento príklad znázornené na obr. jeden.

Ryža. 1. Použitie vlastnosti výška

Objektový model

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

Prehliadače

Prehliadač internet Explorer 6 nesprávne definuje výšku ako minimálnu výšku .

V režime quirk Internet Explorer až do verzie 8.0 vrátane nesprávne vypočíta výšku prvku bez pridania výplne, okrajov a okrajov.

Internet Explorer do verzie 7.0 nepodporuje zdediť hodnotu.

V predvolenom nastavení prvky bloku používajú automatickú šírku. To znamená, že prvok bude horizontálne natiahnutý presne tak, ako je. voľné miesto. Výška blokových prvkov je štandardne nastavená automaticky, t.j. prehliadač roztiahne oblasť obsahu vo vertikálnom smere tak, aby sa zobrazil celý obsah. Ak chcete nastaviť vlastné veľkosti pre oblasť obsahu prvku, môžete použiť vlastnosti width a height.

Vlastnosť CSS width vám umožňuje nastaviť šírku oblasti obsahu prvku a vlastnosť height vám umožňuje nastaviť výšku oblasti obsahu:

Všimnite si, že vlastnosti width a height definujú iba veľkosť oblasti obsahu. Ak chcete vypočítať celkovú šírku prvku bloku, pridajte šírku oblasti obsahu, ľavé a pravé odsadenie a šírku ľavého a pravého okraja. . To isté platí pre celkovú výšku prvku, iba všetky hodnoty sa počítajú vertikálne:

Názov dokumentu

Pre tento odsek nastavte iba šírku a výšku.

Tento odsek obsahuje okrem šírky a výšky aj zarážku, orámovanie a odsadenie.

Skúste »

Príklad jasne ukazuje, že druhý prvok zaberá viac miesta ako prvý. Ak počítame podľa nášho vzorca, potom rozmery prvého odseku sú 150 x 100 pixelov a rozmery druhého odseku sú:


Celková výška:5 pixelov+ 10 pixelov+ 100 pixelov+ 10 pixelov+ 5 pixelov= 130 pixelov
horný
rám
horný
zarážka
výška nižšie
zarážka
nižšie
rám

t.j. 180 x 130 pixelov.

pretečeniu prvku

Po definovaní šírky a výšky prvku by ste mali venovať pozornosť jednému dôležitému bodu - obsah umiestnený vo vnútri prvku môže presiahnuť špecifikovanú veľkosť bloku. V tomto prípade bude časť obsahu presahovať hranice prvku, aby ste sa vyhli tomuto nepríjemnému momentu, ktorý môžete použiť Vlastnosť CSS pretečeniu. prepadová vlastnosť informuje prehliadač, čo má robiť, ak obsah bloku presahuje jeho veľkosť. Táto vlastnosť môže nadobúdať jednu zo štyroch hodnôt:

  • viditeľný je predvolená hodnota používaná prehliadačom. Zadanie tejto hodnoty bude mať rovnaký účinok, ako keby ste nenastavili vlastnosť overflow.
  • scroll – Pridá zvislé a vodorovné posúvače k ​​prvku.
  • auto – v prípade potreby pridá posuvníky.
  • skrytý - skryje časť obsahu, ktorý presahuje hranice prvku bloku.
Názov dokumentu

V tomto článku sa pozrieme na to, ako v CSS môžete nastaviť výšku bloku ako percento jeho šírky. Aplikáciu tejto technológie zvážime na príklade vytvorenia Bootstrap karuselu (posuvníka) z obrázkov rôznych veľkostí.

Vytvorenie bloku s výškou, ktorá má určité percento z jeho šírky

  1. Vytvorte štruktúru HTML z 2 blokov:
    Prvý blok má 2 triedy. Pomocou triedy reagujúcej na položky nastavme blok na relatívne umiestnenie. Toto sa musí urobiť, aby bol blok 2 (ktorý bude mať absolútne umiestnenie) sa nachádza vo vzťahu k nemu. Okrem toho sa táto trieda používa aj na pridanie pseudoprvku:pred pred obsah zodpovedajúcich prvkov (responzívny na položku). Tento prvok nastaví požadovanú výšku bloku vzhľadom na jeho šírku pomocou vlastnosti CSS padding-top. Trik túto metódu je, že ak je vlastnosť padding nastavená na hodnotu nie v pixeloch, ale v percentách, potom to prehliadač vypočíta vzhľadom na jeho šírku. Takto môžete získať blok s požadovanou výškou. Ďalším krokom je dať bloku 2 absolútnu polohu a zarovnať ho s prvým blokom.
  2. Pridajte na stránku nasledujúci kód CSS: .item-responsive ( position: relativní; /* relatívne umiestnenie */ ) .item-responsive:before ( display: block; /* zobrazenie prvku ako bloku */ content: "" ; /* pseudoprvok obsahu */ šírka: 100 %; /* šírka prvku */ ) .item-16by9 ( padding-top: 56,25 %; /* (9:16)*100 % */ ) .item-responsive >.obsah ( poloha: absolútna; /* absolútna poloha prvku */ /* poloha prvku */ hore: 0; vľavo: 0; vpravo: 0; dole: 0; ) /* Voliteľne (pre bloky, ktoré majú tieto triedy) */ .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žitie vyššie uvedenej technológie pri vytváraní kolotoča Bootstrap

Ak nepoznáte Bootstrap a chcete vedieť, čo to je, môžete použiť článok Úvod do Bootstrapu.

Uvažujme o príklade, v ktorom použijeme vyššie uvedenú štruktúru HTML a kód CSS na zobrazenie snímok kolotoča Bootstrap.

Ako obrázky použijeme nasledujúce súbory:

  • carousel_1.jpg (šírka = 736 pixelov, výška = 552 pixelov, pomer strán (výška k šírke) = 1,33);
  • carousel_2.jpg (šírka = 1155px, výška = 1280px, pomer strán (výška k šírke) = 0,9);
  • carousel_3.jpg (šírka = 1846px, výška = 1028px, pomer strán (výška k šírke) = 1,8);
  • carousel_4.jpg (šírka = 1140px, výška = 550px, pomer strán (výška k šírke) = 2,07);
  • carousel_5.jpg (šírka = 800px, výška = 600px, pomer strán (výška k šírke) = 1,33);

Obrázky budú nastavené ako pozadie. To umožní kolotoču Bootstrap 3 používať obrázky s rôznymi pomermi strán.


Značka HTML karuselu:

CSS kód karuselu:

Item-responsive ( position: relatívne; /* relatívne umiestnenie */ ) .item-responsive:before ( display: block; /* display element as block */ content: ""; /* pseudo-element content */ width: 100 %; /* šírka prvku */ ) .item-16by9 ( padding-top: 56,25 %; /* (9:16)*100 % */ ) .item-responsive>.content ( position: absolute; /* absolútny prvok pozícia * / /* pozícia prvku */ hore: 0; vľavo: 0; vpravo: 0; dole: 0; veľkosť pozadia: obal !dôležité; )



Väčšina prvkov v HTML má zvyčajne špecifickú výšku a šírku. Nastavenie týchto parametrov v CSS je pomerne jednoduché a vo výsledku praktické. Používajú sa na to už známe vlastnosti výšky a šírky. V tejto lekcii však budeme hovoriť o nepevnej šírke a výške alebo gume, teda v závislosti od šírky samotného okna. Začnime)

šírka

Táto vlastnosť nastavuje špecifickú šírka HTML prvok. Hodnota môže byť špecifikovaná v pixeloch, percentách (iné hodnoty sa používajú menej často).

Môj blok (
šírka: 400px /* šírka 400px */

}
Alebo v percentách:

MyBlockPercent50 (
šírka: 50% /* šírka 50 % šírky poľa alebo okna (ak nie je vo vnútri poľa s pevnou šírkou) */
farba: #f1f1f1; /* svetlosivý blok */
}
Podľa toho dostaneme blok, ktorý bude mať vždy polovicu šírky rodiča.

Teraz o najzaujímavejších. šírka má parametre, ktoré určujú maximálnu alebo minimálnu šírku. Toto sú vlastnosti min-width a max-width. Môžete tiež zadať ich hodnoty v pixeloch, percentách a iných hodnotách. Tieto vlastnosti sú základom pre vytváranie gumových a adaptívnych dizajnov ().

Príklad adaptívny dizajn . Pozrite, zmena veľkosti okna prehliadača:

Samozrejme, predskakujem. Musíte však pochopiť, čo a prečo potrebujete. Áno, a dotknite sa príjemného výsledku)

Ako ste už pochopili, pomocou týchto vlastností môžete flexibilnejšie manipulovať s prvkami na stránke bez skreslenia obsahu. Ako to funguje? Pozrime sa na kód.

Blokovať (
maximálna šírka: 800 pixelov
farba pozadia: #f1f1f1; /* svetlosivý blok */
výplň: 20px
}
Blok s týmito vlastnosťami s rodičovskou šírkou 200 pixelov nadobudne zodpovedajúcu hodnotu, ale ak je rodičovský blok väčší, napríklad 1000 pixelov, tak už nadobudne svoju maximálnu šírku, teda 800 pixelov. To znamená, že sa bude zväčšovať, kým šírka rodičovského bloku nebude 801 pixelov alebo viac. Ďalej, blok bloku bude mať vždy maximálnu povolenú šírku 800px.

výška

Táto vlastnosť je zodpovedná za výšku prvku. Ako hodnota sa používajú všetky rovnaké vhodné pre CSS. Najčastejšie rovnaké percentá a pixely.

Info(
výška: 200px; /* výška bloku bude 200px */
výplň: 10px /* opakujte o výplni vnútri bloku =) */
}
Čo je logické, pre výšku môžete zadať hodnoty minimálnej a maximálnej výšky prvku s vlastnosťami min-height a max-height.

Info(
maximálna výška: 360 pixelov /* maximálna výška bloku */
minimálna výška: 120px; /* minimálna výška bloku */
}
Ako vidíte, vlastnosti môžu byť a často by sa mali používať v pároch.
Alebo skombinujte hodnoty:

Obsah(
výška: 100 %; /* výška bude vždy 100 % */
šírka: 760px /* ale šírka je pevne stanovená na 760px */
}
Ak máte nejaké otázky, napíšte do komentárov!

Ďakujem za tvoju pozornosť! Veľa šťastia v rozložení!)