Autor Zpráva
piwik
Profil
Zdravim,

Potreboval by som rozdelit tento zoznam do dvoch stplcov:

<ul>
<li>….</li>
<li>….</li>
<li>….</li>
.
.
.
</ul>



Hladal som vsade na internete navod, ale nepodarilo sa mi najst funkcne riesenie.

Skusal som <li> nastavit ako float: left; … ale nehadze to spravne po poradi do 2 stpcov

Prosim o pomoc
panther
Profil
piwik:
ono těžko říct, co by se pro tuto situaci hodilo nejvíce…

- li s floatem a šířkou (případně clear na každou lichou vyjma první, kde je zbytečný)
- definiční seznam
- tabulka

Pokud dodáš i data, která v těch dvou sloupcích mají být, půjde vybat nejlepší řešení. Do té doby se musíš smířit s možnostmi, které jsem vyjmenoval výše.
Tori
Profil
Nemůžete to manuálně rozdělit na dva seznamy a ty pak floatovat?
A hladáte řešení čistě v HTML+CSS, anebo se ten seznam něčím generuje (PHP)?
piwik
Profil
data v zozname sa generuju z php....cize mam tam vlastne iba



<ul>
 ... nejaky foreach
<li> ... </li>
end foreach
</ul>

piwik
Profil
proste pocet <li> sa vytvara dynamicky ... nie je dany pocet

float so sirkou som skusal...ono to dava do 2 stlpcov...ale kazdy neparny <li> dava pod seba
Tori
Profil
Něco takového jsem myslela:
$pole = array(1,2,3,4,5,6,7,8,9,10);
$zlom = ceil(count($pole)/2);
echo '<ul style="float: left; width: 40px;">';
foreach ($pole as $var=>$val) {
  if ($var==$zlom) echo '</ul><ul style="float: left; width: 40px;">';
  echo "<li>$val</li>";
}
echo '</ul>';
Ale tuším, že to asi bude považované za prasárnu.
panther
Profil
piwik:
ale kazdy neparny <li> dava pod seba
a kde by měl být? Když jsou 2 sloupce o 3 položkách, logicky musí být ten poslední osamocen na svém „řádku“.
piwik
Profil
panther:

to ano, ale ked mam napr. 10 <li> ... vtedy by to malo ist spravne pod sebou....a nie vedla seba .. ako je to zatial v mojom riesesi s float a width
Tori
Profil
Ještě mě napadlo: chcete
1      4
2      5
3      6
--- anebo ---
1      2
3      4
5      6
?
piwik
Profil
Tori:

fuha :) vdaka za namahu, no radsej by som to riesil pomocou css .. len zatial neviem ako :(
piwik
Profil
Tori:


1     6
2     7
3     8
4     9
5    10
margin
Profil *
piwik:
proste pocet <li> sa vytvara dynamicky ... nie je dany pocet
Tak zjišťuj jejich počet dynamicky ;-)
Tori
Profil
Otázka na ostatní: Je vůbec nějak možné pouze v CSS nadefinovat, aby se jeden dlouhý seznam (definiční/číslovaný/...) v nějakém místě zalomil do dvou sloupců?
panther
Profil
Tori:
samotným HTML/CSS toto nelze - neví se, kolik tam bude položek, a tudíž ani, která z nich je ta hraniční.
__construct
Profil
piwik:
Pokiaľ vieš aspoň trochu po anglicky - tu je pekný článok ako dosiahnuť to čo chceš. Ale ako tu už zaznelo - pokiaľ to má byť "dynamické", bez nejakého skriptu sa neobídeš.
piwik
Profil
__construct:
Pokiaľ vieš aspoň trochu po anglicky - tu je pekný článok ako dosiahnuť to čo chceš. Ale ako tu už zaznelo - pokiaľ to má byť "dynamické", bez nejakého skriptu sa neobídeš.

Ten článok som už čítal. No musí to byť dynamické.
Chamurappi
Profil
Reaguji na piwika:
Co se týče znázorněného pořadí, u seznamů vyznačených elementem <ul> by na něm tvůrci obsahu nemělo záležet — od toho to je „unordered list“. Záleží-li na pořadí, měl bys použít <ol>.

Jinak nemám, co bych dodal — současné HTML/CSS to, co žádáš, neumí. Některé prohlížeče podporují dělení bloků na sloupce, ale je jich málo a o bodu zlomu rozhoduje výška, nikoliv počet elementů.
piwik
Profil
Chamurappi:
Co se týče znázorněného pořadí, u seznamů vyznačených elementem <ul> by na něm tvůrci obsahu nemělo záležet — od toho to je ‚unordered list‘. Záleží-li na pořadí, měl bys použít <ol>.

idem sa na to pozriet, snad pomoze...dik pekne
piwik
Profil
nepomohlo..stale tam musim nastavit float: left; :((
Chamurappi
Profil
Reaguji na piwika:
Já neříkal, že pomůže, <ol> se zobrazuje (až na odrážky) stejně jako <ul>. Jen jsem vyvozoval, že pokud používáš <ul>, tak by ti to pořadí, které uvádí jako druhé Tori, nemělo vadit, protože by ti na pořadí nemělo záležet.
margin
Profil *
Brání ti něco zjistit dynamicky počet položek v PHP a podle toho seznam rozdělit na dva seznamy?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: