Diskuze: Mezera mezi fotkama
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 18 zpráv z 18.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, je to způsobeno mezerou v HTML kódu. Kdybys ty elementy namačkal na sebe, bez odřádkování, problém zmizí. To je ale trochu nešťastný způsob, hlavně, když chceš mít pěkný HTML kód. Proto raději použij CSS.
#reference {
display: table;
}
No jo, ted jsou mezery stejné, ale je to seřazené pod sebou. Já jsem to chtěl tak jak to bylo před tím, že jsou 2-3 obrázky vedle sebe akorád se stejnou mezerou.
1 - Mezery v kódu lehce odstraníš minifikací, což by jsi na produkci měl mít.
2a - Můžeš použít CSS3 :nth-child() selektor pro 3. obrázek v řádku, kterým odstraníš margin (odsazení), jinak budou mít nějaký margin-right.
2b - Můžeš použít flexbox s pravidlem justify-content: space-between, se kterým to bude asi nejvíce cool (bude se to přizpůsobovat automaticky). Viz http://goo.gl/H4vED4. Samozřejmě pro fotky si dáš nějakou šířku v procentech, např. 30%.
#hobijebuh
Jak to myslíš pod sebou? Když jsem to zkoušel u sebe, tak to normálně fungovalo.
Když jsem přidal to display:table; tak se to zobrazilo pod sebou... je jen jedna v řádku
Tvůj nápad se mi líbí, obzvláště kvůli tomu, že jsem jenom zkopíroval ten složitý kód a nemusel jsem si lámat hlavu s tím co mám blbě. Akorád mám ještě dotaz. Teď to vypadá jako na obrázku(příloha) a já bych potřeboval dát ten poslední obrázek v 3 řádku k tomu před ním, aby tam nebyla mezera na další obrázek. A potom, jak se nastavuje rozestup mezi jednotlivými flex-itemy.
Display: table pri tejto štruktúre nejde využiť, lebo prvky do seba nie sú vhodne vnorené. Môžu byť všetky v riadku alebo stĺpci.
Použil by som tento zápis:
#reference a {float: left}
#reference a img {margin-right: 12px;}
Problém vzniká na iba na poslednom riadku. Ani text posledného riadku sa nerozťahuje až na koniec. Pomôže, ak na konciec ešte niečo pridáš. Napríklad span s vlastnosťami display: inline-block, width: 100%.
Display: flex má zbytočne slabú podporu.
Pardón, ked pridáš prázdny prvok, obrázky sa ti zarovnajú ako na snímku vyššie. Odporúčam ten float.
Protože 95 % je zbytečně slabá podpora?
Ale tak pokud někdo rád podporuje prehistorické prohlížeče, pak GG.
Podporuje to dost prohlížečů
Jo ty fotky jsou teďka seřazené jak jsem chtěl, akorád to překryl div co je normálně pod fotkama. Mám dát
#reference{
margin-bottom: 500px; // např?
}
Jo podporuje to dost prohlížečů, a co je tedy lepší používát? Ten flexbox nebo normální float atd? U toho flexboxu se mi líbilo, že už je responzivní a nemusím to dělat já.
Tých 5% sú tisíce...
Nie, pred koncovu značku divu #reference vlož <div style=clear:both> alebo nastav #reference nejaký overflow.
Flexbox není responzivní v pravém slova smyslu, jen je flexní (flex == ohnout).
Je to perfektní nástroj na pozicování, což v CSS dost chybělo. Samozřejmě se dalo dost dobře pozicovat aj v bez něho, ale to byly spíše takové hacky, než-li opravdové možnosti pozicování. Hlavně je třeba si uvědomit a následně pochopit, že se pracuje s 2 osami, což je trochu nezvyklé a do začátku to může dělat trochu problémy, jelikož stejný kód s změněnou osou dělá úplně něco jiného. Každopádně flexbox není všemocný a když určíš osu, nemůžeš pracovat s druhou.
Nějaké info o flexboxu máš tady na webu, ale to je IMHO dost omezené a né tak dobře popsané, takže doporučuji spíše http://the-echoplex.net/flexyboxes (aplikace pro testování), http://philipwalton.github.io/…d-by-flexbox (ukázky řešení nějakých problémů), https://www.youtube.com/watch?… (super vysvětlovací video), https://css-tricks.com/…-to-flexbox/ (dost dobrý psaný "návod", mě se líbil nejvíce).
Nakonec jsem použil to normální stylování, ale pro příště budu znát i další možnost jak něco udělat. Takže díky
Zobrazeno 18 zpráv z 18.