Suas aspas abertas não são encerradas, então o navegador faz a suposição "inteligente" de que você está prestes a aninhar suas aspas, resultando em aspas externas duplas para o primeiro elemento e aspas internas simples para o segundo. É assim que a pontuação das citações funciona em citações aninhadas. Consulte a Wikipedia e as referências a citações aninhadas nela.
Notavelmente, os limites do elemento são ignorados, por isso não importa, mesmo se seu segundo elemento for aninhado mais profundamente ou se ambos os elementos estiverem aninhados em seus próprios elementos pais, ele ainda funcionará da mesma maneira, o que o torna particularmente útil em parágrafos que podem conter diferentes tipos e combinações de elementos fraseado ( a
, br
, code
, em
, span
, strong
, etc, bem como q
em si). Como as cotações são aninhadas depende exclusivamente do número de open-quote
s e close-quote
s que foram gerados em qualquer ponto no tempo, e o algoritmo é detalhado na seção 12.3.2 da especificação CSS2 , terminando com a seguinte nota:
Nota. A profundidade das citações é independente do aninhamento do documento de origem ou da estrutura de formatação.
Para esse fim, existem duas chamadas "soluções" para esse problema, ambas envolvendo a adição de um ::after
pseudoelemento para equilibrar o primeiro conjunto de cotações em aberto.
Ao inserir aspas fechadas, ::after
o primeiro elemento é encerrado antes que o segundo elemento seja encontrado, portanto, não há aninhamento de aspas.
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>
Se você realmente não deseja renderizar aspas fechadas, ainda pode evitar que o navegador gere aspas simples para o segundo elemento usando 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>
open-quote
se abrir uma citação. Não se refere a um caractere de aspas duplas.