Diskuze:
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= 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.
(Příště, když budeš mít problém, který se týká HTML/CSS, tak dej výsledný HTML kód a ne PHP.)
Kdyby sis do toho každého divu napsal, jestli má být vlevo, nebo vpravo,
tak by s přišel na to, že ne všechny s float left jsou nalevo a ne všechny
s float right jsou napravo - http://kod.djpw.cz/cfkb.
Div s float left se totiž sice snaží být co nejblíže levému okraji, ale
také zároveň (s vyšší prioritou) co nejblíže vrchu. Proto se někdy
může umístit vedle jiného bloku s float left.
Řešením je nedeklarovat těmto divům float, ale dát je do dvou obalových divů širokých těch 300px, rozplavat je, aby byly vedle sebe a jednotlivé bloky vkládat do nich. Takto: http://kod.djpw.cz/bfkb
Tonda Kozák: Myslím si, že z tohoto si dokážeš udělat výsledný
html..
Grimor: Mě napadlo vlastně to samé co Tondu, avšak když a to zcela určitě bude jedna strana větší tak se nedoplní z toho druhé ho sloupce:
<div style="background: red; width: 600px; margin: auto;">
<div style="float:left;">
<?php
for($i=1;$i<21;$i++){
echo "<div style='margin: 1px; width: 298px;height: ".rand(100,300)."px; background: blue;'></div>";
}
?>
</div>
<div style="float:left;">
<?php
for($i=1;$i<21;$i++){
echo "<div style='margin: 1px; width: 298px;height: ".rand(100,300)."px; background: blue;'></div>";
}
?>
</div>
</div>
Btw: Nebylo by lepší použít table či potřebuješ div?
To je hezké, ale já potřebuji plnit oba sloupce naráz, jeden po druhém nestačí. Dva sloupce jsem chtěl spíš pro vysvětlení, ale cílem jsou tři sloupce. Není nějaká vlastnost v CSS, aby float zajímala jen horizontální a ne vertikální poloha?
O tabulkách jsem nepřemýšlel, dokázaly by vyřešit plnění jen jedním cyklem?
Myslím, že tvé problémy s pozicováním a velikostí elementů může
šikovně vyřešit grid
Rozdělení stránky na pomyslné sloupce, podobně jako to využívá bootstrap
Jistěže si z toho udělat výsledné HTML dokážu, ale na druhou stranu chce radu, tak je v jeho zájmu mi to co nejvíce ulehčit.
Grid není dostatečně podporován prohlížeči.
Grimor
Potřebuješ plnit oba sloupce naráz? Nemůžeš to udělat tímto
způsobem?
<div style="background: red; width: 600px; margin: auto;">
<?php
$levy_sloupec = "";
$pravy_sloupec = "";
for($i=1;$i<21;$i++){
if($i%2==0) {
$levy_sloupec .= "<div style='margin: 1px; width: 298px;height: ".rand(100,300)."px; background: blue;'></div>";
} else {
$pravy_sloupec .= "<div style='margin: 1px; width: 298px;height: ".rand(100,300)."px; background: blue;'></div>";
}
}
echo "<div style='float: left; width: 300px'>$levy_sloupec</div>";
echo "<div style='float: left; width: 300px'>$pravy_sloupec</div>";
?>
</div>
Omlouvám se za offtopic...
Který prohlížeč má problémy s Gridem? Není mi to známo
Máš pravdu, omlouvám se, četl jsem grid a nějak mi to v mozku
přeskočilo na flexbox.
Ano, to by asi skoro mohlo být. Ale nejsem si jistý, jak bych to nakonec udělal přes JS, aby se po doscrollování až dolů začaly načítat další.
Každopádně jsem přes noc našel Masonry grid, takže to by mělo
vyřešit všechny mé problémy. Všem děkuji za rady.
Zobrazeno 9 zpráv z 9.