| 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: 15 let
|
|||
0