28172 sujets
CSS et mise en forme, CSS3
Salut
Je ne connaissais pas :empty, merci
Je viens de voir sur le site de mozilla :
https://developer.mozilla.org/fr/docs/Web/CSS/:empty
Je cite:
"La pseudo-classe :empty correspond à un élément qui n'a aucun enfant. Seules les feuilles de l'arbre et le texte (espaces inclus) sont pris en compte. Les commentaires n'ont pas d'influence sur le contenu de l'élément."
Je dirais, mais j'attends aussi une réponse que oui pour le div et non pour l'image, je ne pense qu'une image peut avoir un enfant ?
Modifié par Ethos (27 Jan 2017 - 10:34)
Je ne connaissais pas :empty, merci
Je viens de voir sur le site de mozilla :
https://developer.mozilla.org/fr/docs/Web/CSS/:empty
Je cite:
"La pseudo-classe :empty correspond à un élément qui n'a aucun enfant. Seules les feuilles de l'arbre et le texte (espaces inclus) sont pris en compte. Les commentaires n'ont pas d'influence sur le contenu de l'élément."
Je dirais, mais j'attends aussi une réponse que oui pour le div et non pour l'image, je ne pense qu'une image peut avoir un enfant ?
Modifié par Ethos (27 Jan 2017 - 10:34)
Je ne sais pas comment va se comporter empty sur une <img/> étant donné que c'est une balise auto-fermente (et qu'elle n'a donc pas de contenu). Sur un <div>, sans soucis !
Edit : En faisant quelques tests simples, on voit pas mal de variation...
Modifié par Yordi (27 Jan 2017 - 10:51)
Edit : En faisant quelques tests simples, on voit pas mal de variation...
Modifié par Yordi (27 Jan 2017 - 10:51)
Bah il suffit de tester !
https://jsfiddle.net/jvhqr3oz/
Comme je le pensais et comme tu l'as bien dit <img/> est une balise auto-fermante donc pas de contenu... j'imagine qu'elle sera toujours empty... pas contre je ne vois pas l’intérêt d'utiliser ça sur une img...
https://jsfiddle.net/jvhqr3oz/
Comme je le pensais et comme tu l'as bien dit <img/> est une balise auto-fermante donc pas de contenu... j'imagine qu'elle sera toujours empty... pas contre je ne vois pas l’intérêt d'utiliser ça sur une img...
poilozorey a écrit :
sur un div; jai fait quelque test, mais rien de conclucant
<div> un truc </div>
<div> </div>
div {
border-color: red;
}
div:empty {
border-color: blue;
}
Je vois sur la doc (sur mozilla ,lien au post précédent) qu'un espace peut-être considéré comme du contenu... ? Tu as essayé sans espace ?
Olivier C a écrit :
Et ce n'est surtout pas possible sur tous les navigateurs. Normal : ce n'est pas un comportement standard...
Oui, j'avais testé aussi plusieurs navigateurs (Safari, Edge, Firefox et Chrome) pour voir si ils le faisaient tous. Ce n'est visible que sur Chrome.
Vu que "c'est nouveau" (il ne me semble pas que c'était permis avant), il faudra voir si ça ne créé pas quelques bug visuel sur d'anciens sites.
Et je suis curieux de savoir pourquoi ils ont fait évolué ça de cette manière et aussi de savoir ce qui est prévu pour les autres navigateurs.
Bonjour,
il n'est pas prévu que img:before devienne cross browser : ne PAS utiliser
CSS ("CSS3") fait référence à CSS 2.1 pour cette partie-là (autant que je sache) et il est spécifié :
(et c'est toujours pareil dans CSS 2.2, dès fois que)
Modifié par Felipe (01 Feb 2017 - 17:55)
il n'est pas prévu que img:before devienne cross browser : ne PAS utiliser
CSS ("CSS3") fait référence à CSS 2.1 pour cette partie-là (autant que je sache) et il est spécifié :
CSS 2.1 a écrit :
Note. This specification does not fully define the interaction of :before and :after with replaced elements (such as IMG in HTML). This will be defined in more detail in a future specification.
(et c'est toujours pareil dans CSS 2.2, dès fois que)
Modifié par Felipe (01 Feb 2017 - 17:55)