Autor | Zpráva | ||
---|---|---|---|
Clear Profil * |
#1 · Zasláno: 16. 8. 2007, 09:01:11
Zdravím,
mám např. seznam položek, které jsou zarovnané nalevo (float:left) a vnořené do nadřazeného divu, který má rámeček. k tomu, aby se nadřazený div natáhl (rámeček končil až pod "floatnutýma" položkama vložím do DIVu třeba tag <hr />, kterému v CSS nastavím clear:left. V Opeře i FF to funguje zprávně. Po skončení položek se ukončí DIV a vykreslí se spodní rámeček. V IE však pod položkama vznikne mezera (takže vzdálenost mezi položkama a spodním rámečkem je hodně velká). Nevíte někdo, jak vyřešit tento problém v IE? |
||
Clear Profil * |
#2 · Zasláno: 16. 8. 2007, 09:16:22
Tady jsem hodil na net ukázku
http://clearleft.wz.cz/float.htm |
||
Keilew Profil |
#3 · Zasláno: 16. 8. 2007, 10:09:48
IE bere height čáry z jádra. Více http://hlodovnik.keilew.net/tlachtaty-webdesignerske/hr-cleaner-id-1/ . Doporučuju používat jako čistič BR a HR dát neviditelné, aby tam bylo jen pro účely zobrazení bez stylů. Obecně je těžké stylovat HR.
|
||
j Profil * |
#4 · Zasláno: 16. 8. 2007, 11:11:07
|
||
Keilew Profil |
#5 · Zasláno: 16. 8. 2007, 12:13:12
j
Hezké, ale nefunguje. |
||
Clear Profil * |
#6 · Zasláno: 17. 8. 2007, 09:18:05
Keilew
Jenomže tag <br /> mi to nezarovná v IE7, ten prohlížeč ho prostě ignoruje. |
||
J Profil * |
#7 · Zasláno: 17. 8. 2007, 09:25:48
čistič hr dle p. Staníčka:
clear: both; border: none; visibility: hidden; margin: -1px 0 0 0; padding: 0; height: 1px; |
||
Clear Profil * |
#8 · Zasláno: 17. 8. 2007, 09:36:15
J
jn, jenomže to zase udělá v IE chybu, o které se zmiňuju v prvním příspěvku. Je tam mezera navíc. |
||
mata Profil |
#9 · Zasláno: 17. 8. 2007, 11:47:10
Pokud bude mít div pevnou šířku nebo výšku tak mu jí nastavit a dát overflow:hidden, tím se sám vyclearuje. Pokud ne tak pak jako čistič použít <div style="clear:both;line-height:0;"> </div>
|
||
J Profil * |
#10 · Zasláno: 17. 8. 2007, 11:50:26
Clear: co jiný čistič - toto vidím v FF, O a v IE6 bez mezery
(když padding:0 a margin: 0 jsou zadány na začátku v *) #clear2 {clear: both; } <!--<hr id="clear" />--> <p id="clear2"></p> |
||
mata Profil |
#11 · Zasláno: 17. 8. 2007, 11:57:00
a proč je tam to hr v komentáři? to tam pak nemá vůbec žádný význam...
čističem může být jakýkoli blokový element, takže je jedno jestli p nebo div, div je lepší, protože sémanticky nemá žádný význam |
||
J Profil * |
#12 · Zasláno: 17. 8. 2007, 11:58:23
a proč je tam to hr v komentáři?
aby bylo jasné, že ze stávajícího ho má vyhodit :-) |
||
Keilew Profil |
#13 · Zasláno: 17. 8. 2007, 19:21:16
J
Toto řešení taky dělá tu konstatní "díru" kolem čáry v IE. Udělej to jednoduše: <div class="clear"><hr class="invisible" /></div> Je snad jasný podle názvu tříd, co bude v kaskádách. Syntakticky je to správně, ani prázdnej div to není;-) |
||
Časová prodleva: 17 let
|
0