NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Řešené úlohy k úvodu do CSS preprocesoru SASS

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Honza Bittner
Tvůrce
Avatar
Honza Bittner:2.10.2014 17:53

Článek byl přepsán a upraven. :)

Odpovědět
2.10.2014 17:53
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
jan.klapuch
Člen
Avatar
jan.klapuch:18.1.2015 9:28

Ahoj,
zkoušel jsem cvičení jedna a selhal jsem hned na začátku s umístěním rámečku na střed stránky, když jsem si stáhl kód, tak vidím, že je to řešení pouze odsazením od shora. Je vůbec možné bez použití javascriptu umístit <div class="profil"> vertikálně na střed stránky? Zkoušel jsem i metody použité zde: http://stackoverflow.com/…lly/18618259#…

ale nic mi nefunguje. Rád bych, kdyby mi to mohl ukázat někdo na příkladu "cvičení 1". Díky :)

 
Odpovědět
18.1.2015 9:28
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na jan.klapuch
Honza Bittner:18.1.2015 10:19

Mohlo by to jít, když si nastavíš 100% výšku body (a html):

body,
html {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

A pak jen na ten element ostyluješ jako inline-block a nastavíš vertikální centrování.

.element {
  display: inline-block;
  vertical-align: middle;
}

Nesmíš však zapomenout přidat aj pomocný div, který bude mít následující styly.

.pomocny{
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

Případně ponastavuj box-sizing na border-box, kdyby ti to dělalo neplechu... ;)

Odpovědět
18.1.2015 10:19
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
jan.klapuch
Člen
Avatar
Odpovídá na Honza Bittner
jan.klapuch:18.1.2015 10:49

Dík za rady, ale bohužel mám element vlevo nahoře. Pomocný div má obalovat element? Když jej dám dovnitř nebo ven, výsledek je stejný a zarovnání se nekoná :(

<body>

<div class="pomocny">
    <div class="element">
        <p>I'm 18 years old</p>
    </div>
</div>

</body>
body,
html {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}
div {
  .pomocny {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
  .element {
    display: inline-block;
    vertical-align: middle;
    border: 2px solid #000000;
  }
}
 
Odpovědět
18.1.2015 10:49
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na jan.klapuch
Honza Bittner:18.1.2015 11:01
<body>

<div class="pomocny"></div>
<div class="element">
  <p>I'm 18 years old</p>
</div>

</body>

Takto - ten pomocný div ti určuje střed pro vertical-align...

Odpovědět
18.1.2015 11:01
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
jan.klapuch
Člen
Avatar
Odpovídá na Honza Bittner
jan.klapuch:18.1.2015 12:01

Asi na to kašlu, nejsem schopen to rozchodit. Zkusil jsem to dá i na net, kdyby ses chtěl podívat. http://jsfiddle.net/tf9ee2hq/

 
Odpovědět
18.1.2015 12:01
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na jan.klapuch
Honza Bittner:18.1.2015 12:38

Měl jsi to zabalené ve zvláštním divu, což ti efekt samozřejmě vyrušilo...
http://jsfiddle.net/tf9ee2hq/1/

Odpovědět
18.1.2015 12:38
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
jan.klapuch
Člen
Avatar
Odpovídá na Honza Bittner
jan.klapuch:18.1.2015 14:49

Ten div element jsem tam původně neměl, pak jsem ho přidal kvůli tomu, že se mi neukazovalo ani ohraničení elementu. Když u mého fiddle odstraníš ten element, tak to nepomůže. Díky tvé verzi jsem ale mohl najít skutečný problém: Ve SCSS file sem udělal toto:

div {
  .pomocny {
    ...
  }
  .element {
    ...
  }
}

compilace vytvořila

div .pomocny

Důležitá je tam ta mezera, která způsobí, že to nefunguje. Díky moc ;)

 
Odpovědět
18.1.2015 14:49
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na jan.klapuch
Honza Bittner:18.1.2015 15:29

Jojo - pokud chceš mít výsledek div.pomocny tak musíš použít zástupný znak &, což značí rodičovský element.

Odpovědět
18.1.2015 15:29
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
jan.klapuch
Člen
Avatar
Odpovídá na Honza Bittner
jan.klapuch:18.1.2015 15:36

Super, díky :)

 
Odpovědět
18.1.2015 15:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 19.