Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Firefox 1/IE6 Pagina opnieuw renderen na nieuwe DIV's

Pagina: 1
Acties:

  • Tofu
  • Registratie: Maart 2003
  • Laatst online: 05-10-2024
Ik ben met een website bezig waar ik het menu in een soort textballonetje laat verschijnen.
Achter de site zit een CMS, ik weet dus niet hoe groot een menu zal zijn. Elk submenu heeft dus een variabel aantal items.
Het tonen van een bepaald submenu heb ik eenvoudig opgelost door het meegeven van alle DIV's, die allemaal te verbergen (css), behalve het menu wat getoond dient te worden.
Dit gaat allemaal goed. In internet explorer 7, firefox 1.5, 2 en safari werkt het menu probleemloos, maar helaas in firefox 1 en internet explorer 6 loop dit niet helemaal goed:
Afbeeldingslocatie: http://laurens.usite.be/Zwijveke/Got/1.png
Zo zo het moeten zijn (en zo is het dan ook in IE7 en ff 2):
Afbeeldingslocatie: http://laurens.usite.be/Zwijveke/Got/2.png
Je zou zeggen dat er iets verkeerd is met mijn css, maar als ik de DIV's klaarzet in de html, en dus niet te voorschijn tover met javascript, dan gaat het wel goed.

Ik moet de onderstaande DIV's dus in de oude browsers op een of andere manier wijsmaken dat ze zich moeten aanpassen en een beetje naar beneden of naar boven zouden moeten schuiven.
Dit lukt als volgt:
code:
1
2
3
4
document.getElementById("links").style.display = 'none';
document.getElementById("links").style.display = 'inline';
document.getElementById("rechts").style.display = 'none';
document.getElementById("rechts").style.display = 'inline';

Dan worden de DIV's wel opnieuw gerendeerd op de juiste plaats, maar dan zie je ze wel even pinken/blinken/flitsen, dus een mooie oplossing vind ik het niet.
Ik zou ook kunnen bereken hoeveel ze juist naar beneden moeten, en dan zoveel pixels in de margin ofzo toevoegen, maar dan gebeurd dat in de browsers waar de pagina goed weergegeven wordt dus ook, wat niet de bedoeling is.
Hoe los ik op?
EDIT: Ohja, een werkende testversie vind je hier

  • Johnny
  • Registratie: December 2001
  • Laatst online: 28-11 13:11

Johnny

ondergewaardeerde internetguru

Ik zou geen moeite doen om nog Firefox 1.0 te ondersteunen, het percentage mensen dat daar nog gebruik van maakt is miniscuul en zal alleen maar verder afnemen.

Je zou kunnen proberen of andere JavaScript-oplossingen niet de flickering geven, door bijvoorbeeld visibility te gebruiken, de z-index aan te passen of de hoogte en/of breedte op 0 zetten om het onzichtbaar te maken of anders iets met filter: alpha(opacity=0).

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Ik weet niet welke server-side-taal je gebruikt (PHP/ASP), maar daar kun je meestal ook de browser achterhalen. Vervolgens kun je die server-side-taal CSS code laten produceren, al naar gelang de browser.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:01

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Rekcor schreef op maandag 03 september 2007 @ 10:49:
Ik weet niet welke server-side-taal je gebruikt (PHP/ASP), maar daar kun je meestal ook de browser achterhalen. Vervolgens kun je die server-side-taal CSS code laten produceren, al naar gelang de browser.
Browser sniffen op deze manier is niet erg netjes imo. Cond. comments zijn uitgevonden voor IE, dus kan je IE6 ondersteunen door een apart CSS bestand daarvoor aan te maken. FF1.0 zou ik me echt niet druk over maken

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
We Are Borg schreef op maandag 03 september 2007 @ 12:23:
[...]

Browser sniffen op deze manier is niet erg netjes imo.
Hoezo? Ik vind conditionele argumenten juist niet netjes: ze zijn niet echt bevordelijk voor de leesbaarheid van je CSS (itt tot 'mijn' methode, die altijd 100% netjes CSS/HTML kan opleveren).

Als het een kwestie van smaak is: smaken verschillen ;)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Rekcor schreef op maandag 03 september 2007 @ 13:15:
[...]


Hoezo? Ik vind conditionele argumenten juist niet netjes: ze zijn niet echt bevordelijk voor de leesbaarheid van je CSS (itt tot 'mijn' methode, die altijd 100% netjes CSS/HTML kan opleveren).

Als het een kwestie van smaak is: smaken verschillen ;)
serverside kan je nooit zeker weten welke browser er gebruikt wordt, omdat de user agent string geen betrouwbare bron is.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Erkens schreef op maandag 03 september 2007 @ 13:20:
[...]
serverside kan je nooit zeker weten welke browser er gebruikt wordt, omdat de user agent string geen betrouwbare bron is.
Daarnaast is het gebrouwd voor dit soort problemen. IE zuigt kwa rendering. IE geeft oplossing. En dan eromheen gaan bouwen. Vraagt alleen maar om meer problemen :)

disjfa - disj·fa (meneer)
disjfa.nl


  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07 22:34
Johnny schreef op zondag 02 september 2007 @ 18:41:
Ik zou geen moeite doen om nog Firefox 1.0 te ondersteunen, het percentage mensen dat daar nog gebruik van maakt is miniscuul en zal alleen maar verder afnemen.
Hetzelfde geldt voor IE6. Dat is ook antiek (veel antieker dan FF1.0 for that matter), er is al ruim een jaar een opvolger, en aan de screenshots te zien is het probleem niet heel dramatisch.

Conditional comments zijn imo veruit de beste oplossingen om dit soort browserverschillen op te lossen.

Overigens werkt het menu niet zonder javascript, en ik zie zo snel geen reden waarom je dat niet puur met CSS kunt oplossen. Javascript zou, zeker voor publieke sites, altijd unobtrusive moeten zijn.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Fuzzillogic schreef op maandag 03 september 2007 @ 13:26:
[...]
Hetzelfde geldt voor IE6. Dat is ook antiek (veel antieker dan FF1.0 for that matter), er is al ruim een jaar een opvolger, en aan de screenshots te zien is het probleem niet heel dramatisch.
Het verschil is dat er nog zo`n 35% van de mensen IE6 gebruiken. Dat tegen een marginale < 1% wat FF1.0 gebruikt. Dan heb je in mijn ogen nog wel een verplichting om IE6 te ondersteunen, helaas.

disjfa - disj·fa (meneer)
disjfa.nl


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Fuzzillogic schreef op maandag 03 september 2007 @ 13:26:
Hetzelfde geldt voor IE6. Dat is ook antiek (veel antieker dan FF1.0 for that matter), er is al ruim een jaar een opvolger, en aan de screenshots te zien is het probleem niet heel dramatisch.
IE6 is overigens nog steeds de meest gebruikte browser. Bedrijven gaan bijvoorbeeld niet snel upgraden, om nog maar te zwijgen over alle Windows 2000's en illegale Windows XP versies waar dus ook nog IE6 opzit.
Dus nee, IE6 kan je helaas nog niet negeren. Fx 1.x wmb wel aangezien iedereen gewoon kan upgraden naar 2.0

  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07 22:34
Negeren is een groot woord, maar om de complete trukendoos te openen alleen omdat een divje wat te hoog staat?

Net even gekeken, er is wel meer aan de hand dan dat, maar toch...

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Fuzzillogic schreef op maandag 03 september 2007 @ 13:39:
Negeren is een groot woord, maar om de complete trukendoos te openen alleen omdat een divje wat te hoog staat?
Jij zegt gewoon de grootste gebruikersgroep negeren omdat dat makkelijker is. Als dat kan zou ik dat ook zeker doen. Maar het lijkt me niet de slimste optie. Maargoed, je weet niet voor welke gebruikersgroep deze site gemaakt is.

disjfa - disj·fa (meneer)
disjfa.nl


  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07 22:34
Ligt eraan. De meeste IE6-issues ken ik wel en kan op voorhand wel rekening mee houden. Het IE7-script geeft de mogelijkheid om gewoon CSS2-selectors te gebruiken. En afhankelijk van de site laat ik kleine 'probleempjes' met IE6 gewoon voor wat ze zijn: het kost geld om het te fixen.

Maar ook het IE7-script is niet perfect. Het werpt een extra vertraging op voor IE6-users. Pech gehad. In the end is IE6-support het hoofdzakelijk een financiele afweging. Maar dat ik de buik vol heb van dat stuk antiek telt ook mee ja.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 22:01

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Rekcor schreef op maandag 03 september 2007 @ 13:15:
[...]


Hoezo? Ik vind conditionele argumenten juist niet netjes: ze zijn niet echt bevordelijk voor de leesbaarheid van je CSS (itt tot 'mijn' methode, die altijd 100% netjes CSS/HTML kan opleveren).

Als het een kwestie van smaak is: smaken verschillen ;)
Erkens geeft al erg netjes antwoord: je kunt (mijn) browserstring niet altijd vertrouwen ;) Daarnaast worden cond. comments ondersteund door MS: hoe goed wil je het krijgen (behalve een fatsoenlijke browser van MS :+ ) ? Leesbaarheid is dan juist super: IE6 stylesheet, IE7 stylesheet, alles apart voor de browser issues

[ Voor 7% gewijzigd door We Are Borg op 04-09-2007 19:33 ]


  • Tofu
  • Registratie: Maart 2003
  • Laatst online: 05-10-2024
Bedankt voor de reacties.
Ik heb het voor IE6 grotendeels kunnen oplossen. IE6 Is inderdaad een stuk belangrijker dan FF1. De doelgroep zijn ouders en leerkrachten.
Blijkbaar was het al een grote hulp de display:inline naar display:block te wijzigen.
Ook heb ik enkele margins dan maar naar witte borders veranderd. Mooi is het niet, maar het helpt.
Voor firefox 1 zijn er voorlopig geen problemen zolang er geen enkel menu is dat groter is dan het eerste menu.

Verder had dit misschien inderdaad CSS-only opgelost kunnen worden, maar dat had me meer tijd gekost.
Pagina: 1