ugrás a tartalomhoz

ie6/ie7 bug: floatolt elemek sorokra bontása

gex · 2009. Aug. 11. (K), 15.03
sziasztok,

a probléma:
egy lista elemeit szeretném sorokba rendezni. a float: left; tulajdonság elég is ha egyenlő magasak a listaelemek, de ha változó a magasságuk akkor elcsúsznak az elemek (lásd előző téma :)). ezért adtam minden sor első elemének egy clear: left; tulajdonságot, ami a szabványos böngészőkben kiválóan működik is, nem úgy mindnyájunk kedvenc böngészőjének 6-os és 7-es verziójában. készítettem egy példa oldalt is.

amit próbáltam:
rákerestem ie, ie6, bug, float, clear, rows, stb szavak variációira, eddig egy ígéretes oldalt találtam de a téma hasonlósága ellenére sem felelnek meg nekem az ott felsorolt megoldások.

amit nem szeretnék:
a listát több listára bontani.


minden ötletet köszönök:
gex
 
1

inline block

atxatx · 2009. Aug. 12. (Sze), 11.57
2

kipróbáltad?

gex · 2009. Aug. 12. (Sze), 12.10
kipróbáltad vagy a sztemből jól sejtem hogy ez csak tippelgetés?

In IE 6 and 7 inline-block works only on elements that have a natural display: inline.
forrás. se a másik témában lévő div se az itt szereplő li nem inline típusú alapból.
3

kipróbáltam

atxatx · 2009. Aug. 12. (Sze), 13.36
a *display:inline a css ben pont azért kell hogy az ie-ekkel is menjen.
Sztem te is próbáld ki :)
4

én is...

gex · 2009. Aug. 12. (Sze), 18.29
...és nem megy.

az alap ie(6) mágiákon (display: inline(-block), position: relative, zoom: 1) már a kérdésfeltevés előtt végigszaladtam. de ha neked tényleg megy akkor kérlek mutasd meg hogyan.
5

igye

atxatx · 2009. Aug. 13. (Cs), 09.14
6

köszönöm és whitespace gond

gex · 2009. Aug. 13. (Cs), 11.17
először is köszönöm, ma is tanultam valamit.

másodszor pedig van egy kis gondom a whitespace-ekkel. értem a cikket, értem az általuk javasolt megoldást, a példaoldalamon a display: inline-block-ot használó lista első három eleme közül kivettem a whitespace karaktereket, ott nagyon jól látszik a különbség.

viszont nem értem hogy a te példaoldalad miért jelenik meg jól pl ffben. sőt mindenben amiben eddig néztem kivéve chrome-ban. erre van ötleted?
9

kicsit módosítottam rajta

atxatx · 2009. Aug. 13. (Cs), 21.13
http://atxatxgoogle.extra.hu/css-feladvany-7.html
Sztem most minden böngészőben jó...

De ezekben tutti: Chrome 2.0.172.39, IE8, Firefox 3.5.1 (most csak ezeket találtam)
7

white-space

atxatx · 2009. Aug. 13. (Cs), 15.08

ul{display:table}
8

nem az igazi

gex · 2009. Aug. 13. (Cs), 15.58
észre se vettem a sor végén. :)

viszont bár ff-ben megjavult winxp opera 9.62ben, safari 3.2.2ben és chrome 2.0.172.39ben se segített. ráadásul az elsőben a gap nem szűnt meg, az utóbbiakban pedig az ul szélessége lett kisebb.

szerk: egyébként valószínűleg az lesz hogy maradok a float-nál és conditional commenttel vagy css hack-kel megadom ezt a display: inline-block-os módszert az ie6-ie7-nek.
10

megoldás(ok)

gex · 2009. Aug. 14. (P), 11.01
meglett a végső megoldás ha esetleg később valaki belefutna hasonló problémába:
  1. kell a display: table; hogy ff-ban ne zavarjanak a white-space-ek.
  2. a display: table; miatt kell egy font-size: 0; az ul-nak, különben elcsúsznak a li elemek operában (a pontos miértet egyébként nem értem).
  3. a display: table; miatt a webkites böngészők (chrome, safari) nem értelmezték az ul-nak megadott paddingot, így a belső elemek marginját kellett inkább beállítani.

viszont legalább jó minden böngészőben ami számít (nekem).