Autor | Zpráva | ||
---|---|---|---|
joe Profil |
#1 · Zasláno: 10. 2. 2011, 14:22:35
Nesetkal jste se někdo s řešením bugu, kde clear: left; zalomí jen ten element, u kterého je clear definován a ostatní pokračují tak, jako by tam žádný clear nebyl?
Problémový kód: <style> .x { float: left; width: 20px; height: 20px; margin: 0 5px 5px; background :red; } .c { clear: left; } </style> <div> <div class="x"></div> <div class="x"></div> <div class="x"></div> <div class="x"></div> <div class="x c"></div> <div class="x"></div> <div class="x"></div> <div class="x"></div> </div> Označené by měly být také zalomené... |
||
Plaváček Profil |
#2 · Zasláno: 10. 2. 2011, 16:19:58
joe:
Čeho chceš, prosím, docílit? Nemůžeš vyrobit nějakou živou ukázku? |
||
Railbot Profil |
#3 · Zasláno: 10. 2. 2011, 16:24:44 · Upravil/a: Railbot
Napsal jsem nesmysl, dnes budu bez oběda.
|
||
joe Profil |
#4 · Zasláno: 10. 2. 2011, 20:23:44 · Upravil/a: joe
Railbot:
„Bug to není.“ Není? Takže ve všech ostatních prohlížečích bug je? I v IE8, kde už se to chová tak, jak by mělo (podle mě)? :-) Řekl bych, že když použiju jednou clear, tak snad by to mělo platit i na ty následující elementy. Alespoň se tak všechny prohlížeče chovají. Plaváček: Docílit chci toho, že chci mít čtverečky vedle sebe - mám dvanáct čtverečků cca. 20 x 20 pixelů a chci jich mít šest a pod nimi zase šest. Živá ukázka. Můžu sice zadat pevnou šířku rodiče, ale ještě chci mít vedle posledního čtverečku vpravo dole odkaz, který je širší než čtvereček, to znamená, že v těchto verzích IE by mi to zase skočilo tam, kde to mít nechci. Takže můžu buď dát všechny čtverečky do rodiče s nějakou šířkou - kam bych musel zasahovat s JS, pokud se velikost čtverečků může měnit. A nebo každý další řádek dávat do divu... |
||
Miloš Profil |
#5 · Zasláno: 10. 2. 2011, 22:31:01
Vcelku bastl, ale v kompatibilním režimu IE 8 (tedy jakoby v IE 7) funguje:
<!DOCTYPE html> <html> <head> <title>ie bug</title> </head> <body> <style> .x { float: left; width: 20px; height: 20px; margin: 0 5px 5px 5px; background: red; } .c { clear: left;} .n {float: none; margin-left: 95px;} </style> <div> <div class="x"></div> <div class="x"></div> <div class="x"></div> <div class="x n"></div> <div class="x c"></div><li></li> <div class="x"></div> <div class="x"></div> <div class="x"></div> </div> </body> </html> |
||
joe Profil |
#6 · Zasláno: 11. 2. 2011, 00:35:06
Stačí dát před ten "clearovaný" další div, který nebude plavat. Takže řešení:
<div></div> <div class="x c"></div> |
||
Časová prodleva: 13 let
|
0