Autor | Zpráva | ||
---|---|---|---|
michal55 Profil |
#1 · Zasláno: 27. 12. 2011, 16:03:12 · Upravil/a: Moderátor (editace znemožněna) 27. 12. 2011, 18:34:58
Ahoj, prosím pěkně o radu. Nevím v čem je chyba, proto na mě prosím nekřičte, že to nehledám jinde. Bude to asi jen nějaká banalita, koukám do kódu už hrozně dlouho, ale nemůžu najít chybu. Bude to spíš nepochopení souvztažností.
Jsme začátečník s CSS a zkouším si vytvořit fotogalerii zde: http://sklep-cejc.cz/galery/vinice/new_gal.html http://sklep-cejc.cz/all2b.css Stránka má (kromě hlavičky a patičky) jen jeden sloupec definovany jako class=column. V něm je fotogalerie, kde se každý obrázek pomocí float řadí zleva vedle druhého (každý obrázek s popiskem má class "gal_jednotka"). No a právě když zadám hodnotu float na každý obrázek s popiskem, hezky se mi seřadí podle rámu galerie, ale nějak se mi vymezí ze sloupce column, které má bílé pozadí a výsledek vypadá tak, jak vidíte v odkazu. Jako by galerie již nespadala pod sloupec. Když odstraním vlastnost seřazení obrázků vedle sebe, tak galerie opět hezky náleží pod sloupec "column". Netušíte proč? Michal P.S. styly pro galerii je úplně dole v dokumentu Moderátor Davex: Titulek „float:left“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
slovakCZ Profil |
#2 · Zasláno: 27. 12. 2011, 16:09:31 · Upravil/a: slovakCZ
muzes to vyresit treba tak, ze tomu divu s tridou column das taky float:left.. jinak je potreba pouzit reset (clear:both).. jak to funguje si dohledej a precti, bohuzel nemam ted moc casu popisovat
|
||
Plaváček Profil |
#3 · Zasláno: 27. 12. 2011, 16:13:03
michal55:
Nejrychlejším řešením v tvé situaci je pro DIV s třídou gal_frame nastavit overflow:hidden. Delší cestou je nastudovat si, jak float a clear vlastně funguje, třeba zde http://www.pixy.cz/pixylophone/2003_12_archiv.html#1071056082. |
||
Trejpa Profil |
#4 · Zasláno: 27. 12. 2011, 16:13:50
michal55:
Do .gal_frame musíš dát něco, co ukončí plavání. <div class="gal_frame"> …plovoucí prvky… <br style=clear:left> </div> |
||
slovakCZ Profil |
#5 · Zasláno: 27. 12. 2011, 16:18:09
Trejpa:
To v tomto pripade neni nutne.. staci bohate jeden element za vsechny gal_frame a do elemtu s tridou column ktery to :vyresetuje:.. takze nejak takto: <div class="column"> <div class="gal_frame">nejaky obrazek.... bla bla</div> <div class="gal_frame">nejaky obrazek.... bla bla</div> <div class="gal_frame">nejaky obrazek.... bla bla</div> <div class="gal_frame">nejaky obrazek.... bla bla</div> <div class="gal_frame">nejaky obrazek.... bla bla</div> <div style="clear:both;"> </div> </div> a tim padem neni nutne pak floatovat div s tridou column.... |
||
dunil Profil * |
#6 · Zasláno: 27. 12. 2011, 17:00:35
Děkuji všem, už to funguje.
Děkuji za odkaz na Pixiho, nejsem z toho stoprocentně moudrý, ale chápu to tak, že galerie, pokud ji dám vlastnost float, se vyjme z dokumentu jakoby neexistovala, tudíž nastavené pozadí nepokrývá galerii, kterou jakoby nevidí. Fungují všechny 3 návody. Overflow, Clear i dát nadřazenému prvku float: left. Ještě jednou děkuji. |
||
Trejpa Profil |
#7 · Zasláno: 27. 12. 2011, 17:12:50
slovakCZ:
Ty sis tu stránku moc neprohlédl, že? Blok .gal_frame je tam jeden a neplave. Plavou v něm obsažené bloky .gal_jednotka. Tedy jak jsem napsal, řešením je ukončení plavání clearem uvnitř .gal_frame, nebo (jak píše Plaváček) změnou jeho overflow. |
||
dunil Profil * |
#8 · Zasláno: 27. 12. 2011, 17:19:07
No četl jsem to několikrát :), ale asi mě to v hlavě nezaplo úplně správně :). Chce to víc praxe. Děkuju eště raz.
|
||
slovakCZ Profil |
#9 · Zasláno: 28. 12. 2011, 09:28:35
Trejpa:
ale to prece vubec nevadi ze neplave. :) |
||
Časová prodleva: 12 let
|
0