Autor Zpráva
epsík
Profil
Řeším takovou situaci, kdy vypisuji jidelni listek z databaze a chci ho vypsat do dvou sloupců tak, aby byly shruba stejně dlouhé. jdu na to tak, že nejprve zjistím počet položek, které se mi budou vypisovat a poté dávám podmínku, aby se mi zmenil styl, pokud jejich počet dosáhne poloviny..uvedu zde zjednodušený příklad:

?>
...

// nejprve jsem si definoval promennou $i, která je součtem všech položek v databázi a pole $tb

...



$a=1;

foreach($tb as $index => $key){

if(!isset($list))$list="left";

echo "<h3 id='$list'>$sekce[$index]</h3>";

$co="SELECT * FROM $key";

$navrat=mysql_db_query("$db_name", $co, $spojeni);

$pokus=@mysql_fetch_row($navrat);

while (list($nazev, $popis, $cena) = @mysql_fetch_row($navrat)){

$a++;

$vypis=($a <= $i/2)?"jidelak_levy":"jidelak_pravy"; //zde měním ten styl

$list=($a <= $i/2)?"left":"right"; //zde je to stejné

?>

<div id="<? echo $vypis ?>">

<h2><? echo $nazev ?></h2>

<p><? echo $popis ?></p>

<div id="cena"><? echo $cena ?>,–</div>

</div>

<?
}

}
?>

...no a pak pak mám styly...pro pochopení problému bude stačit asi toto:

#jidelak_levy, #jidelak_pravy{
position:relative;
width:240px;
clear:both;
}
#jidelak_levy{
float:left;
}
#jidelak_pravy{
float:right;
}

Tak..a problém je v tom, že v IE se mi to zobrazí správně, tj. nateče levý sloupek a poté vedne něj nateče druhý, přibližně stejně dlouhý...V Mozille se ale ten druhý sloupek posune v pravo, ale pod levý sloupek..
Mohl by mi někdo poradit, co s tím?

ještě bych měl podotknout, že to nechci dělat přes tabulky, protože každá položka je jinak dlouhá a já nechci, aby mi lícovali názvy, ale naopak, aby mezi položkamy byly stejné rozestupy...
malek
Profil
v mozile sa to zobrazi zrejme spravne kedze si im dal obom clear:both;

skus to dat prec, ak potrebujes clearovat tak ho daj elementu prednim.

skus to beztoho, vypocitaj si aby ti vosla sirka prvku do priestoru
epsík
Profil
malek
to jsem taky zkoušel, ale pak se mi sklávají vedle sebe a vůbec to dělá všelijakej zmatek...zkoušel jsem i dát margin:left pro #jidelak_pravy a naopak, aby se skládali pod sebe, ale pk to dělá zase ten samý problém..

prostor na šířku mají dostatečný...tak nevím...

taky jsem teď zkusil dát ten clear do toho nadřazeného elementu, ale to s tím nic neudělá...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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