Avançée de CSS3 dans les navigateurs
Par Laurentj le vendredi, janvier 26 2007, 12:12 - Technologies Web - Lien permanent
Les spécifications de CSS3, ne sont pas encore une recommandation du W3C. Seuls 5 sur les 34 modules ont passé le cap de "Candidate Recommendation".
Cela n'empêche pas les éditeurs de navigateurs de commencer à implémenter CSS3, surtout les spécifications les plus avancées et les plus intéressantes[1].
Firefox avait ouvert la voie il y a déjà pas mal de temps. Dans Firefox 1.5, on a eu droit à la prise en charge des colonnes ou des compteurs, ou même bien avant, on pouvait déjà utiliser certains des sélecteurs CSS3 et d'autres propriétés (Ils en avaient besoin pour XUL).
Mais force est de constater que Firefox perd de son avance en matière d'implémentation CSS3. Le moteur Webkit/Khtml par exemple progresse rapidement dans ce domaine. Voir en particulier les billets de David Hyatt sur le blog de webkit. Dans KDE 3.5.6, Konqueror (basé sur khtml), prend maintenant en charge tout les sélecteurs CSS3, et passe la suite de test sur les selecteurs, proposée par le site css3.info (dont je vous recommande la lecture). Pour comparaison, Konqueror 3.5.2 (que j'ai sur ma machine) a un résultat de 309/578, Firefox 2 : 357/578 et la version de développement actuelle de Firefox 3 : 369/578 (qui corrige plus de bugs qu'il n'ajoute de nouveaux sélecteurs).
On a bien ici chez DI, une implémentation complète des sélecteurs CSS3, réalisée par mon collègue Olivier. Mais elle n'est.. qu'en Javascript (jQuery n'a qu'a bien se tenir ah ! ah !).
PS : Il y a aussi la prochaine version d'Opéra qui contiendra pas mal de nouveautés CSS3.
Notes
[1] Pour rappel, les spécifications de CSS prévoit que l'on peut implémenter des propriétés de styles non standard, si on préfixe leur nom par un tiret suivit du nom de la firme, du moteur etc. Ce que font les développeurs des navigateurs pour implémenter les styles css3 qui ne sont encore pas bien spécifiés, afin d'éviter une confusion pour les développeurs web.
Commentaires
Je rêve que tous les navigateurs supportent correctement les CSS2 et le modèle de bloc... Les CSS3, c'est du bonus :D
Oui ça et puis une propriété du style "renderMode:Gecko" :-D (supportée par IE bien sûr). Merci pour le lien vers css3.info que je ne connaissais pas.
Ah, mais ca serait interessant ca, une implémentation Javascript des selecteurs CSS3... Ne serait ce que pour regarder, ca doit être marrant à coder :-)
La position des developpeurs Firefox CSS sur l'usenet est claire : on a pas les moyens d'avancer.
Ainsi, si l'on a le support des colones, les règles du type column-break-inside (à minimum!) n'était pas supporté, il est impossible d'en controler le comportement et d'éviter par exemple d'avoir un paragraphe de coupé en deux colonne ... résultat en cas de défilement ou de grande page, le résultat est visuellement inadéquat.
Je vous invite à lire le fil "Will there be a CSS improvement/fixes in Firefox 2.0 ?" dans mozilla.dev.tech.css ...
Le passage du test ACID, le support des polices embarquées (pourtant indispensable à SVG et fort utile sous CSS) ... tout ceci n'est clairement pas envisagé à cet instant.
Reste Opéra, qui bien que hors libre est la meilleure alternative au support des standards W3C. Par contre, la mauvaise foi des developpeurs. Voir à titre d'exemple, le fil "CSS3 :target support ?" sur opera.wishlist concernant la demande de gestion par opéra de la pseudo classe target, absolument nécessaire lorsque l'on utilise des liens directs (exemple truc.html#toto) sur une page de dimension supérieure à la dimension de la zone de rendu de l'agent. Dans le cas précis le developpeur Opera n'a simplement pas cherché à comprendre l'interret d'une gestion pour les utilisateur dans la perspective de l'ergonomie de l'interface, il a balayé celà du revers de la main sous pretexte que les selecteurs css3 sont toujours des brouillons voir http://www.w3.org/TR/css3-selectors/#target-pseudo ! Pourtant, Opera a déjà implémenté des brouillons (donc non-standards) via leur préfixe -o comme par exemple le -o-text-overflow ...) ! Comme quoi, tout n'est pas gagné au pays de CSS 3 :(
Mon principal problème est qu'au final aucun navigateur disponible sur les plateformes de masse (lire "Windows", malheureusement) ne sont disponible ... pas de Safari, pas de KHTML ... nada.
Des volontaires pour un portage ?
Euh, tes questions (puisqu'il s'agit d'un de tes posts) portaient sur FF2.. les devs de firefox en sont à Firefox 3/Gecko 1.9, FF2 c'est du passé hein..
Et dans gecko 1.9, il y aura pas mal d'avancées.
Bref, la discussion en question commence à être obsolète...
Faux, la version de dev de Gecko 1.9 le passe déjà, et une version experimentale la passait déjà depuis plusieurs mois... Bref, FF3 le passera.
Peut être utile et tout, mais trés compliqué à implémenter. Et puis franchement, y a plus urgent que les fontes téléchargeables à mon humble avis, même si pour toi c'est important.
Pour moi, en terme de support des standard, actuellement c'est webkit/khtml (Safari et Konqueror donc) qui est la meilleure alternative. voir swift pour un navigateur basé sur webkit sous windows (en developpement encore, pas testé).
Konqueror peut tourner sous Windows de multiples façons.
C'est sympa Loufoque de nous prévenir que Konqueror peut tourner sous Windows de multiple façon, mais un lien vers les explications de quelques unes de ses façon serait la bienvenue. 1) Cela apurais tes propos. 2) Il y as sûrement des intéressés.