Autor Zpráva
joe
Profil
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
joe:

Čeho chceš, prosím, docílit? Nemůžeš vyrobit nějakou živou ukázku?
Railbot
Profil
Napsal jsem nesmysl, dnes budu bez oběda.
joe
Profil
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
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
Stačí dát před ten "clearovaný" další div, který nebude plavat. Takže řešení:

<div></div>
<div class="x c"></div>

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:

0