Je me demande pourquoi le navigateur affiche des doubles guillemets ouverts uniquement pour le premier élément. Le deuxième élément a plutôt des guillemets simples.
a::before {
content: open-quote;
}
<a href="http://www.google.com">Google</a> <br>
<a href="http://www.amazon.com">Amazon</a>
html
css
pseudo-element
css-content
Pavan Tiwari
la source
la source
open-quote
n'ouvre une citation. Il ne fait pas référence à un caractère entre guillemets.Réponses:
Vos guillemets ouverts ne sont pas terminés, le navigateur fait donc l'hypothèse «intelligente» que vous êtes sur le point d'imbriquer vos guillemets, ce qui entraîne des guillemets extérieurs doubles pour le premier élément et des guillemets intérieurs simples pour le second. C'est ainsi que fonctionne la ponctuation des guillemets dans les citations imbriquées. Voir Wikipedia et les références aux citations imbriquées.
Notamment, les limites des éléments sont ignorées, donc cela n'a pas d'importance même si votre deuxième élément est imbriqué plus profondément ou si les deux éléments sont imbriqués dans leurs propres éléments parents, cela fonctionnera toujours de la même manière, ce qui le rend particulièrement utile dans les paragraphes qui peuvent contiennent différents types et combinaisons d'éléments phrasé (
a
,br
,code
,em
,span
,strong
, etc, ainsi queq
lui - même). La façon dont les guillemets sont imbriqués dépend uniquement du nombre deopen-quote
s et declose-quote
s générés à tout moment, et l'algorithme est détaillé dans la section 12.3.2 de la spécification CSS2 , se terminant par la note suivante:À cette fin, il existe deux soi-disant «solutions» à ce problème, qui impliquent toutes deux l'ajout d'un
::after
pseudo-élément pour équilibrer le premier ensemble de guillemets ouverts.En insérant des guillemets fermés à
::after
l' aide de la citation, le premier élément se termine avant que le deuxième élément ne soit rencontré afin qu'il n'y ait pas d'imbrication de citations.Si vous ne souhaitez pas afficher les guillemets fermés, vous pouvez toujours empêcher le navigateur de générer des guillemets simples pour le deuxième élément à l'aide de
no-close-quote
.la source
C'est parce que vous n'avez pas fermé les citations précédentes, les citations suivantes ne resteront qu'avec une seule
'
.alors utilisez le pseudo élément
after
aveccontent: close-quote
Voir ci-dessous l'extrait:
Afficher l'extrait de code
Vous pouvez également modifier les guillemets principaux et secondaires d'une balise à l'aide de la propriété CSS quotes comme suit:
voir ci-dessous l'extrait:
la source