Umístění bloku do středu. Pomocí výřezu. Horizontální a vertikální centrování pomocí jQuery

Při rozvržení stránky je často nutné provést zarovnání na střed pomocí metody CSS: například vycentrovat hlavní blok. Existuje několik možností řešení tohoto problému, z nichž každou musí dříve nebo později použít jakýkoli návrhář rozložení.

Zarovnání textu na střed

Často je pro dekorativní účely nutné nastavit zarovnání textu na střed, CSS v tomto případě umožňuje zkrátit dobu rozvržení. Dříve se to dělalo pomocí atributů HTML, ale nyní standard vyžaduje zarovnání textu pomocí šablon stylů. Na rozdíl od bloků, u kterých musíte změnit okraje, v CSS se centrování textu provádí pomocí jednoho řádku:

  • text-align:center;

Tato vlastnost se dědí a předává z rodiče všem potomkům. Ovlivňuje nejen text, ale i další prvky. Aby to bylo možné, musí být inline (například span) nebo inline-block (jakékoli bloky, které mají nastavenou vlastnost display: block). Druhá možnost také umožňuje změnit šířku a výšku prvku a flexibilněji upravit odsazení.

Na stránkách je zarovnání často přiřazeno samotné značce. To okamžitě znehodnotí kód, protože W3C zavrhla atribut align. Použití na stránce se nedoporučuje.

Zarovnání bloku na střed

Pokud potřebujete vycentrovat div, CSS nabízí docela pohodlný způsob: pomocí okrajů. Odsazení lze nastavit jak pro prvky bloku, tak pro prvky inline-blok. Hodnota vlastnosti by měla být 0 (vertikální odsazení) a auto (automatické horizontální odsazení):

  • okraj:0 auto;

Nyní je tato možnost uznána jako absolutně platná. Použití externího odsazení také umožňuje nastavit vycentrování obrázku: umožňuje vyřešit mnoho problémů souvisejících s umístěním prvku na stránce.

Zarovnejte blok doleva nebo doprava

Někdy není zarovnání CSS na střed vyžadováno, ale musíte umístit dva bloky vedle sebe: jeden na levý okraj a druhý na pravý. Pro tento účel existuje vlastnost float, která může nabývat jedné ze tří hodnot: left, right nebo none. Řekněme, že máte dva bloky, které je třeba umístit vedle sebe. Pak bude kód vypadat takto:

  • .left (float:left;)
  • .right(float:right)

Pokud existuje také třetí blok, který by měl být umístěn pod prvními dvěma bloky (například zápatí), je třeba mu dát vlastnost clear:

  • .left (float:left;)
  • .right(float:right)
  • zápatí (jasné:obě)

Faktem je, že bloky s třídami vlevo a vpravo vypadnou z obecného toku, to znamená, že všechny ostatní prvky ignorují samotnou existenci zarovnaných prvků. Vlastnost clear:both umožňuje zápatí nebo jinému bloku vidět prvky, které vypadly z toku, a zakazuje plovoucí nalevo i napravo. Proto se v našem příkladu posune zápatí dolů.

Vertikální zarovnání

Jsou chvíle, kdy nestačí nastavit zarovnání na střed pomocí metod CSS, musíte také změnit vertikální polohu podřízeného bloku. Libovolný vložený prvek nebo prvek vložený blok může být vnořen na horním nebo spodním okraji, uprostřed nadřazeného prvku nebo na libovolném místě. Nejčastěji je k tomu potřeba blok zarovnat na střed, používá se atribut vertical-align. Řekněme, že existují dva bloky, jeden vnořený do druhého. V tomto případě je vnitřní blok prvkem inline-block (zobrazení: inline-block). Musíte zarovnat podřízený blok svisle:

  • zarovnání nahoru - .child(vertical-align:top);
  • zarovnání na střed - .child(vertical-align:middle);
  • zarovnání dolů - .child(vertical-align:bottom);

Zarovnání textu ani svislé zarovnání neovlivňuje prvky bloku.

Možné problémy se zarovnanými bloky

Někdy může centrování div pomocí CSS způsobit malé potíže. Například při použití float: řekněme, že existují tři bloky: .first, .second a .third. Druhý a třetí blok leží v prvním. Prvek s třídou second je zarovnán doleva a poslední blok je zarovnán doprava. Po vyrovnání oba vypadly z proudu. Pokud nadřazený prvek nemá nastavenou výšku (například 30em), pak se již neroztáhne do výšky svých podřízených bloků. Abyste se této chybě vyhnuli, použijte „spacer“ – speciální blok, který vidí .second a .third. CSS kód:

  • .second(float:left)
  • .třetí(plovoucí:vpravo)
  • .clearfix(výška:0; jasná: obojí;)

Často se používá pseudo-třída:after, která také umožňuje vrátit bloky na jejich místo vytvořením pseudo-spaceru (v příkladu je div s třídou kontejneru inside.first a obsahuje.left a.right) :

  • .left(float:left)
  • .right(float:right)
  • .container:after(content:""; display:table; clear:both;)

Výše uvedené možnosti jsou nejběžnější, i když existuje několik variant. Pomocí experimentování můžete vždy najít nejjednodušší a nejpohodlnější způsob, jak vytvořit pseudo-spacer.

Dalším problémem, se kterým se návrháři rozvržení často setkávají, je zarovnání prvků inline-blok. Za každou z nich se automaticky přidá mezera. S tím pomáhá vlastnost margin, která je nastavena na záporné odsazení. Existují další metody, které se používají mnohem méně často: například nulování V tomto případě je ve vlastnostech nadřazeného prvku zapsáno font-size: 0. Pokud je uvnitř bloků text, pak je požadovaná velikost písma již vrácena ve vlastnostech prvků inline-block. Například font-size:1em. Tato metoda není vždy vhodná, proto se mnohem častěji používá možnost s externími odrážkami.

Zarovnání bloků umožňuje vytvářet krásné a funkční stránky: to zahrnuje rozvržení celkového rozvržení, uspořádání produktů v internetových obchodech a fotografie na webových stránkách vizitek.

Při vytváření bloků div jste pravděpodobně narazili na situace, kdy potřebujete vycentrovat div horizontálně a vertikálně pomocí čistého CSS. Například při vytváření vyskakovacích oken pomocí . Existuje několik způsobů, jak implementovat centrování, a v tomto článku se podělím o své oblíbené a nejjednodušší způsoby, pomocí CSS nebo jQuery.

Nejprve základy:

Horizontální centrování v CSS

To je snadné, používáme okraj pro naše div blok.

ClassName( margin:0 auto; width:200px; height:200px; )

Chcete-li vycentrovat blok div pouze vodorovně, musíte definovat šířku bloku (width), použijte vlastnost auto pro levý a pravý okraj. Tato metoda bude fungovat pro všechny prvky bloku (div, p, h1 atd.). Chcete-li použít horizontální centrování na vložené prvky (odkazy, obrázky...), musíte použít zobrazení: blok;

Horizontální a vertikální centrování v CSS

Centrování bloku div vodorovně a svisle současně je trochu složitější. Musíte předem znát rozměry bloku div.

ClassName( šířka:300px; výška:200px; pozice:absolutně; vlevo:50%; nahoře:50%; okraj:-100px 0 0 -150px; )

Pomocí absolutního umístění bloku jej můžeme oddělit od okolních prvků a určit jeho polohu vzhledem k velikosti okna prohlížeče. Posuňte blok div o 50 % doleva a do horní části okna. Levý horní roh bloku je nyní ve středu okna prohlížeče. Zbývá pouze umístit blok div do středu stránky posunutím o polovinu jeho šířky doleva a polovinu jeho výšky nahoru. Hurá! Výsledkem bylo vynikající centrování bloku pomocí čistého CSS kódu.

Horizontální a vertikální centrování pomocí jQuery

Jak již bylo zmíněno dříve – metoda centrování CSS funguje pouze s pevnými rozměry. Pokud nejsou rozměry definovány, pomůže vám metoda jQuery:

$(window).resize(function())( $(".className").css(( position:"absolute", left: ($(window).width() - $(".className").outerWidth ( ))/2, nahoře: ($(window).height() - $(".className").outerHeight())/2 )); // Spuštění funkce při načtení okna: $(window).resize();

Operace této metody spočívá ve spuštění funkce resize() pomocí řádku $(window).resize() . Tato funkce funguje při každé změně velikosti okna prohlížeče. Používáme externalWidth() a externalHeight(), protože na rozdíl od width() a height() zahrnují výplň a tloušťku okrajů ve velikosti, kterou vrací. Poslední řádek zahájí proces centrování bloku div při načítání stránky.

Výhodou použití této metody je, že možná nevíte, jakou má div velikost. Hlavní nevýhodou je, že funguje pouze tehdy, když je povolen JavaScript. Proto je tato metoda přijatelná pro multifunkční rozhraní, jako je VKontakte, Facebook atd.

Jako vždy můžete svou oblíbenou metodu centrování bloků navrhnout pomocí komentáře.

Horizontální a vertikální zarovnání prvků lze provést různými způsoby. Volba metody závisí na typu prvku (blok nebo inline), typu jeho umístění, velikosti atd.

1. Horizontální zarovnání na střed bloku/stránky 1.1. Pokud má blok šířku: div ( šířka: 300px; okraj: 0 auto; /*vystředit prvek vodorovně v rámci nadřazeného bloku*/ )

Pokud chcete tímto způsobem zarovnat vložený prvek, je třeba jej nastavit na zobrazení: blok;

1.2. Pokud je blok vnořen do jiného bloku a nemá žádnou/zadanou šířku: .wrapper (text-align: center;) 1.3. Pokud je nastavena šířka bloku a potřebujete ji opravit ve středu nadřazeného bloku: .wrapper (pozice: relativní; /*nastavit relativní umístění pro nadřazený blok, abychom pak mohli blok absolutně umístit do něj* /) .box ( width: 400px; position: absolute ; left: 50%; margin-left: -200px; /*posune blok doleva o vzdálenost rovnající se polovině jeho šířky*/ ) 1.4. Pokud bloky nemají specifikovanou šířku, můžete je vycentrovat pomocí nadřazeného bloku obalu: .wrapper (zarovnání textu: na střed; /*vycentrovat obsah bloku*/) .box ( display: inline-block; / *uspořádat bloky v řadě vodorovně*/ margin-right: -0,25em /*odstranit pravý okraj mezi bloky*/ ) 2. Vertikální zarovnání 2.1. Pokud text zabírá jeden řádek, například u tlačítek a položek nabídky: .button ( výška: 50px; výška řádku: 50px; ) 2.2. Svislé zarovnání bloku uvnitř nadřazeného bloku: .wrapper (pozice: relativní;) .box (výška: 100px; poloha: absolutní; nahoře: 50%; okraj: -50px 0 0 0; ) 2.3. Vertikální zarovnání podle typu tabulky: .wrapper ( display: table; width: 100%; ) .box ( display: table-cell; height: 100px; text-align: center; vertical-align: middle; ) 2.4. Pokud má rámeček šířku a výšku a je třeba jej vycentrovat na nadřazený rámeček: .wrapper ( pozice: relativní; ) .box ( výška: 100px; šířka: 100px; pozice: absolutní; nahoře: 0; vpravo: 0; dole: 0: 0; přetečení: auto; Absolutní umístění ve středu stránky/bloku pomocí transformace CSS3:

pokud jsou pro prvek specifikovány rozměry

div ( width: 300px; /*nastavení šířky bloku*/ výška:100px; /*nastavení výšky bloku*/ transform: translate(-50%, -50%); position: absolute; top: 50 %; zbývá: 50 % ;

pokud prvek nemá žádné rozměry a není prázdný

Zde je nějaký text h1 ( margin: 0; transform: translate(-50%, -50%); position: absolute; top: 50%; left: 50%; )

Kolik kopií již bylo rozbito o úkolu zarovnat prvky na stránce. Upozorňuji na překlad výborného článku s řešením tohoto problému od Stephena Shawa pro Smashing Magazine - Absolute Horizontal And Vertical Centering In CSS.

Všichni jsme věděli o marži: 0 auto; pro horizontální centrování, ale okraj: auto; nefungovalo pro vertikální. To lze snadno opravit jednoduchým nastavením výšky a použitím následujících stylů:

Absolutní střed ( okraj: auto; pozice: absolutní; nahoře: 0; vlevo: 0; dole: 0; vpravo: 0; )
Nejsem první, kdo toto řešení navrhuje, ale tento přístup se pro vertikální zarovnání používá jen zřídka. V komentářích k článku How to Center Anything With CSS Simon odkazuje na příklad jsFiddle, který poskytuje skvělé řešení pro vertikální centrování. Zde je několik dalších na toto téma.

Pojďme se na metodu podívat blíže.

Výhody
  • Kompatibilita mezi různými prohlížeči (včetně IE 8-10)
  • Žádné další značení, minimální styling
  • Přizpůsobivost
  • Nezávislost na vycpávce (bez dimenzování krabic!)
  • Funguje pro obrázky
Nedostatky
  • Výška musí být specifikována (viz Variabilní výška)
  • Aby se obsah nerozsypal, je doporučeno nastavit overflow: auto
  • Nefunguje na Windows Phone
Kompatibilita s prohlížečem Metoda byla testována a funguje skvěle v prohlížečích Chrome, Firefox, Safari, Mobile Safari a dokonce i IE 8-10. Jeden uživatel uvedl, že obsah se na Windows Phone nezarovnává svisle Uvnitř kontejneru Obsah umístěný v kontejneru s pozicí: relativní se zarovná v pohodě:

Absolute-Center ( šířka: 50 %; výška: 50 %; přetečení: auto; okraj: auto; pozice: absolutní; nahoře: 0; vlevo: 0; dole: 0; vpravo: 0; )

Pomocí výřezu Nastavte obsah na pozici: pevné a nastavte z-index:

Absolute-Center.is-Fixed ( šířka: 50 %; výška: 50 %; přetečení: auto; okraj: auto; poloha: pevná; nahoře: 0; vlevo: 0; dole: 0; vpravo: 0; z-index: 999;

Adaptabilita Hlavní výhodou popsané metody je, že funguje perfektně, když je výška nebo šířka zadána v procentech, a dokonce rozumí min-width/max-width a min-height/max-height .

Absolute-Center.is-Responsive ( šířka: 60 %; výška: 60 %; minimální šířka: 400 pixelů; max. šířka: 500 pixelů; odsazení: 40 pixelů; přetečení: auto; okraj: auto; pozice: absolutní; nahoře: 0; vlevo: 0; vpravo: 0;

Offsety Pokud má web pevnou hlavičku nebo potřebujete udělat nějaké jiné odsazení, stačí do stylů přidat kód jako top: 70px; Při nastavení okraje: auto; blok obsahu bude správně vycentrován na výšku.

Můžete také zarovnat obsah na požadovanou stranu a ponechat centrování na výšku. Chcete-li to provést, musíte použít právo: 0; vlevo: auto; pro zarovnání vpravo nebo vlevo: 0; vpravo: auto; pro zarovnání doleva.

Absolute-Center.is-Right ( šířka: 50 %; výška: 50 %; okraj: auto; přetečení: auto; pozice: absolutní; nahoře: 0; vlevo: auto; dole: 0; vpravo: 20px; zarovnání textu: že jo;

Spousta obsahu Abychom zajistili, že velké množství obsahu nedovolí, aby se rozložení rozcházelo, používáme overflow: auto . Zobrazí se svislý posuvník. Můžete také přidat maximální výšku: 100 %; pokud obsah nemá další výplň.
.Absolute-Center.is-Overflow ( šířka: 50 %; výška: 300 pixelů; max-výška: 100 %; okraj: auto; přetečení: auto; pozice: absolutní; nahoře: 0; vlevo: 0; dole: 0; vpravo : 0;

Obrázky Tato metoda funguje skvěle i pro obrázky! Přidat výšku stylu: auto; pak se obrázek změní spolu s kontejnerem.

Absolute-Center.is-Image ( šířka: 50 %; výška: auto; okraj: auto; pozice: absolutní; nahoře: 0; vlevo: 0; dole: 0; vpravo: 0; )

Variabilní výška Popsaná metoda vyžaduje danou výšku bloku, kterou lze zadat v procentech a ovládat pomocí max-height, díky čemuž je metoda ideální pro responzivní weby. Jedním ze způsobů, jak nenastavit výšku, je použít display: table . V tomto případě je blok obsahu vystředěn bez ohledu na velikost.

Mohou nastat problémy s kompatibilitou mezi různými prohlížeči, možná byste měli použít metodu tabulky buněk (popsaná níže).

  • Firefox/IE8: Použití zobrazení: tabulka zarovná blok svisle k horní části dokumentu.
  • IE9/10: Použití zobrazení: tabulka zarovná blok k levému hornímu rohu stránky.
  • Mobile Safari: Pokud je šířka nastavena na procenta, trpí horizontální centrování
.Absolute-Center.is-Variable ( displej: tabulka; šířka: 50 %; přetečení: auto; okraj: auto; pozice: absolutní; nahoře: 0; vlevo: 0; dole: 0; vpravo: 0; )

Další metody Popsaná metoda funguje ve většině případů skvěle, ale existují i ​​jiné metody, které lze použít k řešení konkrétních problémů Negativní okraj Pravděpodobně nejoblíbenější metoda. Vhodné, pokud jsou známy rozměry bloku.

Je-negativní ( šířka: 300px; výška: 200px; odsazení: 20px; pozice: absolutní; nahoře: 50%; vlevo: 50%; okraj-levý: -170px; /* (šířka + odsazení)/2 */ okraj- nahoře: -120px /* (výška + odsazení)/2 */ )
výhody:

  • Kompatibilita mezi různými prohlížeči
  • Minimální kód
nedostatky:
  • Ne adaptivní
  • Pokud je v nádobě příliš mnoho obsahu, rozvržení se zmenšuje
  • Musíte kompenzovat výplň nebo použít box-sizing: border-box
Použití transformace Jedna z nejjednodušších metod podporuje změny výšky. Na toto téma existuje podrobný článek - "Centering Percentage Width/Height Elements" od CSS-Tricks.

Is-Transformed ( šířka: 50 %; okraj: auto; pozice: absolutní; nahoře: 50 %; vlevo: 50 %; -webkit-transform: translate(-50%,-50%); -ms-transform: translate( -50%,-50%) transformovat: přeložit (-50%,-50%);
výhody:

  • Variabilní výška
  • Minimální kód
nedostatky:
  • Nefunguje v IE 8
  • Použití předpon
  • Může rušit jiné transformační efekty
  • V některých případech jsou okraje bloku a text během vykreslování rozmazané
Tabulka-buňka Možná jeden z nejlepších a nejjednodušších způsobů. Podrobně popsáno v článku "Flexibilní výškové vertikální centrování s CSS, mimo IE7" od 456bereasttreet. Hlavní nevýhodou je dodatečné značení: jsou vyžadovány tři prvky:

<!-- OBSAH -->
CSS:
.Pos-Container.is-Table ( zobrazení: tabulka; ) .is-Table .Table-Cell ( zobrazení: buňka-tabulka; svislé zarovnání: na střed; ) .is-Tabulka .Středový blok ( šířka: 50 %; okraj: 0 auto;
výhody:

  • Variabilní výška
  • Rozvržení nefunguje, pokud je v bloku velké množství textu
  • Kompatibilita mezi různými prohlížeči
nedostatky:
  • Složitá struktura
Flexbox Budoucnost CSS, flexbox vyřeší mnoho dnešních problémů s uspořádáním. Podrobně je to napsáno v článku časopisu Smashing Magazine s názvem Centering Elements with Flexbox.

Pos-Container.is-Flexbox ( display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-align: center; - moz-box-align: center; -webkit-align: center; -ms-flex-pack: center; : střed; zarovnat-obsah: střed)
výhody:

  • Obsah může mít libovolnou výšku nebo šířku
  • Lze použít ve složitějších případech
nedostatky:
  • Žádná podpora pro IE 8-9
  • Vyžaduje kontejner nebo styly v těle
  • Ke správnému fungování v moderních prohlížečích vyžaduje širokou škálu předpon
  • Možné problémy s výkonem
Sečteno a podtrženo Každá metoda má své výhody a nevýhody. V podstatě jde o výběr, které prohlížeče by měly být podporovány
18.02.2015 21,4 tis

Pokud střihnete do libovolného webu vytvořeného na bázi html, pak uvidíte určitou vrstvenou strukturu. Navíc bude jeho vzhled podobný vrstvenému dortu. Pokud si to myslíte, pak jste s největší pravděpodobností dlouho nejedli. Nejprve tedy uspokojte svůj hlad a pak vám řekneme, jak vycentrovat vrstvu div na vašem webu:

Výhody rozložení pomocí tagu

Existují dva hlavní typy struktury webu:

  • Tabelární;
  • Blok.

Tabulkové uspořádání bylo dominantní i na úsvitu internetu. Mezi jeho přednosti patří přesnost zadaného polohování. Má však zjevné nevýhody. Mezi hlavní patří délka kódu a nízká rychlost načítání.

Při použití rozvržení tabulky se webová stránka nezobrazí, dokud nebude zcela načtena. Při použití bloků div se prvky zobrazí okamžitě.

Kromě vysoké rychlosti načítání vám bloková konstrukce webu umožňuje několikanásobně snížit množství html kódu. Včetně použití tříd CSS.

Pro strukturování zobrazení dat na stránce by však mělo být použito tabulkové uspořádání. Klasickým příkladem jeho použití je zobrazení tabulek.

Konstrukce bloků založená na značkách se také nazývá vrstva po vrstvě a samotné bloky se nazývají vrstvy. Je to proto, že když jsou použity určité hodnoty vlastností, mohou být naskládány na sebe, podobně jako vrstvy ve Photoshopu.

Polohovací pomůcky

V blokovém rozložení je lepší umístit vrstvy pomocí kaskádových stylů. Hlavní CSS vlastnost zodpovědná za layout je float.
Syntaxe vlastnosti:
plovák: vlevo | vpravo | žádný | zdědit
Kde:

  • vlevo – zarovná prvek k levému okraji obrazovky. Obtékání zbývajících prvků probíhá vpravo;
  • vpravo – zarovnání vpravo, obtékání dalších prvků – vlevo;
  • žádné – obalování není povoleno;
  • dědit – převezme hodnotu nadřazeného prvku.

Podívejme se na odlehčený příklad umístění divů pomocí této vlastnosti:

#left ( šířka: 200px; výška: 100px; plovoucí: levý; pozadí: rgb(255,51,102); ) #right ( šířka: 200px; výška: 100px; plovoucí: pravý; pozadí: rgb(0,255,153); ) Levý blok Pravý blok


Nyní se pokusíme použít stejnou vlastnost k umístění třetího prvku div do středu stránky. Ale bohužel float nemá středovou hodnotu. A když dáte novému bloku hodnotu zarovnání doprava nebo doleva, posune se v určeném směru. Zbývá tedy pouze nastavit float: doleva na všechny tři bloky:


Ale ani to není nejlepší varianta. Při zmenšení okna se všechny vrstvy seřadí svisle do jedné řady a při zvětšení se přilepí k levému okraji okna. Takže potřebujeme lepší způsob, jak vycentrovat div. Centrovací vrstvy

V dalším příkladu použijeme kontejnerovou vrstvu, do které umístíme zbývající prvky. Tím je vyřešen problém vzájemného pohybu bloků při změně velikosti okna. Centrování kontejneru na střed se provádí nastavením vlastností okraje na nulu pro okraje od horního okraje a auto po stranách (margin: 0 auto ):

#container ( šířka: 600px; margin: 0 auto; ) #left ( šířka: 200px; výška: 100px; plovoucí: vlevo; pozadí: rgb(255,51,102); ) #right ( šířka: 200px; výška: 100px; plovoucí : left; background: rgb(0,255,153); #center ( šířka: 200px; výška: 100px; float: left; background: rgb(255,0,0); ) Levý blok Středový blok Pravý blok);


Stejný příklad ukazuje, jak můžete prvek div vycentrovat vodorovně. A pokud mírně upravíte výše uvedený kód, můžete dosáhnout vertikálního zarovnání bloků. K tomu stačí změnit délku vrstvy kontejneru (zmenšit ji). To znamená, že po úpravě by její třída css měla vypadat takto:

Po změně se všechny bloky seřadí přesně do řady uprostřed. A jejich pozice se nezmění bez ohledu na velikost okna prohlížeče. Takto vypadá vertikální centrování div:


V následujícím příkladu jsme použili řadu nových vlastností css k vystředění vrstev uvnitř kontejneru:

#container ( width: 450px; height:150px; margin:0 auto; background-color:#66CCFF; ) #left ( width: 100px; height: 100px; background: rgb(255,51,102); display: inline-block; vertical-align: middle; margin-left: 35px; ) #right ( šířka: 100px; výška: 100px; background: rgb(0,255,153); display: inline-block; vertical-align: middle; margin-left: 35px; ) #center ( šířka: 100px; výška: 100px; pozadí: rgb(255,0,0); display: inline-block; vertical-align: middle; margin-left: 35px; )


Krátký popis vlastností css a jejich hodnot, které jsme v tomto příkladu použili k vycentrování prvku div v prvku div:
  • display: inline-block – zarovná prvek bloku do čáry a zajistí, že se obalí kolem jiného prvku;
  • vertical-align: middle – zarovná prvek na střed vzhledem k nadřazenému prvku;
  • margin-left – nastaví levý okraj.
Jak vytvořit odkaz z vrstvy

Jakkoli to může znít divně, je to možné. Někdy může být při rozvržení různých typů nabídek potřeba blok div jako odkaz. Podívejme se na praktický příklad implementace odkazové vrstvy:

#layer1( šířka: 500px; výška: 100px; pozadí: rgb(51,255,204); border:groove; ) a ( display: block; text-align: center; height: 100%; color: rgb(255,0,51) ) Odkaz na náš web


V tomto příkladu pomocí řádku zobrazení: blok nastavíme vazbu na hodnotu prvku bloku. A aby se celá výška bloku div stala spojnicí, nastavte výšku : 100 %. Skrytí a zobrazení prvků bloku

Blokové prvky poskytují více příležitostí k rozšíření funkčnosti rozhraní než zastaralé tabulkové uspořádání. Často se stává, že design webu je jedinečný a rozpoznatelný. Ale za takovou exkluzivitu musíte zaplatit nedostatkem volného místa.

To platí zejména pro hlavní stránku, na které jsou náklady na inzerci nejvyšší. Vyvstává tedy problém, kam „strčit“ další reklamní banner. A tady vám nemůže uniknout zarovnání divu na střed stránky!

Racionálnějším řešením je skrýt nějaký blok. Zde je jednoduchý příklad takové implementace:

#layer1( display:block; width: 500px; height: 100px; background: rgb(51,255,204); border:groove; ) function show() ( if(layer1=="none") ( layer1="block"; ) else ( vrstva1="none"; ) document.getElementById("vrstva1").style.display=vrstva1)

Toto je kouzelné tlačítko. Kliknutím na něj skryjete nebo zobrazíte skrytý blok.




Horní