28172 sujets

CSS et mise en forme, CSS3

Dans Selectors Level 3 — 7.4 (w3.org), les pseudos éléments `after` et `before`, sont précédés d’un double deux-points. Pour la signification de ces pseudos éléments, un renvoi est fait à CSS2. Dans Selectors — 5.12.3 (w3.org), ils sont pourtant toujours précédés d’un seul deux-points.

Ça me perturbe Smiley lol

Il y a une explication à ça ? J’utilise toujours `before` avec un seul deux-points, et ça marche. Cette notation est-elle destinée à disparaitre ? Mieux vaut-il utiliser un double deux-points maintenant ?


En marge, complétement H.S., `display: run-in;` semble avoir disparu, Opera Blink ne le reconnait plus, et j’ai vu mentionné sa disparition je ne sais plus où.
Modifié par hibou57 (23 Jan 2016 - 23:12)
bonsoir,

pour les deux point cela inclus IE8 qui les comprends bien, soit il te permettent de servir un code incluant IE8, soit tu t'en sert comme filtre en servant une alternative de style compatible avec IE8 en faisant 2 sélecteur un simple(IE8) et un double (les autres), je n'ai pas d'exemple en tête mais j'ai du en lâcher un il y a 2 ans environ ici sur le forum (cas rare et plutôt anecdotique) , probablement sur un cas display:flex /display:table et un space-around.

Pour le run-in, pas implémenter par la majorité des navigateur et quasi inconnus de la plupart, je ne suis pas surpris d'apprendre qu'il n'existe plus ... surement faute d'avoir exister Smiley smile .
Modifié par gc-nomade (24 Jan 2016 - 00:08)
Administrateur
Depuis CSS level 3, le W3C à décidé de distinguer visuellement les pseudo-éléments (::) des pseudo-classes (:).
La notation officielle est donc aujourd'hui : : before et ::after.
Cependant, les specs précisent que les navigateurs doivent indéfiniment supporter l'ancienne notation même si celle-ci n'est plus valide.

Concrètement, en effet, :before est supporté depuis IE8, tandis que ::before est compatible à partir de IE9.

bonne journée Smiley cligne
Modifié par Felipe (24 Jan 2016 - 11:44)
Raphael a écrit :
Depuis CSS level 3, le W3C à décidé de distinguer visuellement les pseudo-éléments (::) des pseudo-classes (:).
La notation officielle est donc aujourd'hui : : before et ::after.
Cependant, les specs précisent que les navigateurs doivent indéfiniment supporter l'ancienne notation même si celle-ci n'est plus valide.
Concrètement, en effet, :before est supporté depuis IE8, tandis que ::before est compatible à partir de IE9.

Merci Raphaël pour cette réponse précise.
Tout comme Hibou57, aprés avoir constaté que l'on croisait les deux formulations sur le web, je m'étais effectivement posé la même question lors de la sérialisation CSS depuis mon générateur, .
La solution sera donc de modifier mon code pour que l'on puisse sélectionner au niveau projet un mode CSS3 strict / compatible, permettant de basculer instantanément d'un type à l'autre pour la création de la feuille de style.
Bonne fin de week end.
Modérateur
Raphael a écrit :
Concrètement, en effet, :before est supporté depuis IE8, tandis que ::before est compatible à partir de IE9.

Holy crap ! Smiley eek
Administrateur
Bonjour,

je me demandais / je pensais que les minifieurs CSS viraient le double '::' pour gagner un octet mais je viens de regarder la CSS minifiée de http://alsacreations.fr et ce n'est pas le cas (avec nos réglages en tout cas). 'fin y aura gzip de toutes les façons Smiley smile
gc-nomade a écrit :
[…]

Pour le run-in, pas implémenter par la majorité des navigateur et quasi inconnus de la plupart, je ne suis pas surpris d'apprendre qu'il n'existe plus ... surement faute d'avoir exister Smiley smile .

Mais toujours défini pour SVG ?

Appendix N: Property Index (w3.org)

Run-in y apparait toujours comme valeur possible pour display.