Me pregunto por qué el navegador muestra comillas dobles abiertas solo para el primer elemento. El segundo elemento tiene comillas 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
fuente
fuente

open-quoteno abrir una cita. No se refiere a un carácter de comillas dobles.Respuestas:
Sus comillas abiertas no terminan, por lo que el navegador asume "inteligentemente" que está a punto de anidar sus comillas, lo que resulta en comillas exteriores dobles para el primer elemento y comillas interiores simples para el segundo. Así es como funciona la puntuación de las citas en las citas anidadas. Consulte Wikipedia y las referencias a citas anidadas allí.
En particular, los límites de los elementos se ignoran, por lo que no importa incluso si su segundo elemento está anidado más profundamente o si ambos elementos están anidados en sus propios elementos principales, seguirá funcionando de la misma manera, lo que lo hace particularmente útil en párrafos que pueden contener diferentes tipos y combinaciones de elementos Enunciado (
a,br,code,em,span,strong, etc, así comoqen sí). La forma en que se anidan las cotizaciones depende únicamente del número deopen-quotesysclose-quoteque se han generado en cualquier momento, y el algoritmo se detalla en la sección 12.3.2 de la especificación CSS2 , que finaliza con la siguiente nota:Con ese fin, existen dos supuestas "soluciones" a este problema, las cuales implican agregar un
::afterpseudo-elemento para equilibrar el primer conjunto de cotizaciones abiertas.Al insertar comillas cercanas utilizando
::afterla cita para el primer elemento, se termina antes de que se encuentre el segundo elemento, por lo que no hay anidamiento de citas.a::before { content: open-quote; } a::after { content: close-quote; }<a href="http://www.google.com">Google</a> <br> <a href="http://www.amazon.com">Amazon</a>Si en realidad no desea representar comillas cerradas, aún puede evitar que el navegador genere comillas simples para el segundo elemento que usa
no-close-quote.a::before { content: open-quote; } a::after { content: no-close-quote; }<a href="http://www.google.com">Google</a> <br> <a href="http://www.amazon.com">Amazon</a>fuente
Esto se debe a que no cerró las citas anteriores, las próximas citas permanecerán solo con una
'.así que usa el pseudo elemento
afterconcontent: close-quoteVea el siguiente fragmento:
Mostrar fragmento de código
a::before{ content: open-quote; } a::after{ content: close-quote; }<a href="http://www.google.com"> Google</a> <br> <a href="http://www.amazon.com">Amazon</a> <br> <a href="http://www.google.com"> Google</a> <br> <a href="http://www.amazon.com">Amazon</a>También puede editar las comillas primarias y secundarias en una etiqueta utilizando la propiedad CSS de comillas de la siguiente manera:
a { quotes: "“" "”" "“" "”"; ^ ^ ^ ^ | | | | | | | |_ #secondary close quotes | | |_____ #secondary open quotes | |_________ #primary close quotes |_____________ #primary open quotes }ver el fragmento de abajo:
a { quotes: "“" "”" "“" "”"; } a::before{ content: open-quote; }<a href="http://www.google.com"> Google</a> <br> <a href="http://www.amazon.com">Amazon</a> <br> <a href="http://www.google.com"> Google</a> <br> <a href="http://www.amazon.com">Amazon</a>fuente