Toon posts:

[CSS] pseudo class hack voor IE

Pagina: 1
Acties:

Verwijderd

Topicstarter
HTML:
1
2
3
4
5
6
7
8
9
10
11
<style type="text/css">
  p {
    color: blue;
  }
  p:inferiorBrowserSniffer, p {
    color: red;
  }
</style>
<p>
  woei
</p>
Rood of blauw?

spoiler:
Ligt er maar net aan in welke browser je kijkt. Internet Explorer maakt de paragraaf rood, terwijl Gecko en Opera de paragraaf blauw laten.


Per toeval kwam ik achter deze fout. Niet elke browser interpreteert bovenstaande CSS zoals het zou moeten. In hoeverre is het gebruik van zulke hacks lelijk? Misschien is wel elke hack lelijk, maar hoe verkeerd is het om bugs in een tokenizer uit te buiten?
Ikzelf vind deze nog wel meevallen omdat je zo in ieder geval dingen kan fixen voor Internet Explorer. Mocht microsoft later toch de tokenizer voor IE7 fixen, dan breekt de site niet in IE6. Het enige wat je misschien zou moeten doen is extra css toevoegen voor IE7.

Oh, bijna vergeten: Rules for handling parsing errors

Kortom de vraag: wat is jullie mening? Kunnen hacks als deze?

[ Voor 9% gewijzigd door Verwijderd op 17-03-2005 17:36 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

In hoeverre is dit anders dan:
Cascading Stylesheet:
1
2
3
4
5
6
p {
  color: blue;
}
*>p {
  color: red;
}

wat hetzelfde resultaat geeft, maar daarnaast wel valid CSS is?

Intentionally left blank


Verwijderd

Die was bekend: http://annevankesteren.nl/test/css/s/grouping

(Het probleem komt natuurlijk wanneer er een keer echt zo'n pseudo-class ontwikkeld wordt. Daarnaast is het nou niet echt een handige hack aangezien alleen recente Mozilla en Opera versies het geheel correct parsen.)

Verwijderd

Topicstarter
Och, vermoedde al dat jij die bug eerder tegen het lijf bent zijn gelopen :)
(Het probleem komt natuurlijk wanneer er een keer echt zo'n pseudo-class ontwikkeld wordt. Daarnaast is het nou niet echt een handige hack aangezien alleen recente Mozilla en Opera versies het geheel correct parsen.)
Dit is dan wel een goede reden om deze hack niet te gebruiken.

Crisp: ik snap niet helemaal wat je bedoelt. Maakt het uit of je een tokenizer bug uitbuit of een implementatie bug? 't Is en blijft een hack

[ Voor 3% gewijzigd door Verwijderd op 17-03-2005 17:39 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:27

crisp

Devver

Pixelated

Ik zie het eerder gebeuren dat een tokenizer bug gefixed wordt dan dat er maar een klein stukje van de standaard bij-geimplementeerd wordt zonder de rest van de standaard mee te nemen ;)

Intentionally left blank


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Verwijderd schreef op donderdag 17 maart 2005 @ 17:35:
Het probleem komt natuurlijk wanneer er een keer echt zo'n pseudo-class ontwikkeld wordt.
Een pseudo-class genaamd InferiorBrowserSniffer of iets anders fancy'erig?
Daarnaast is het nou niet echt een handige hack aangezien alleen recente Mozilla en Opera versies het geheel correct parsen.)
Dus als je dat ook wilt, is het best handig :) . Maar dat haalt idd nogal de lol eruit :) .

DM!

Pagina: 1