Ваші відкриті лапки не припиняються, тому браузер робить «розумне» припущення, що ви збираєтеся вкласти свої котирування, що призведе до подвійних зовнішніх лапок для першого елемента та одинарних внутрішніх лапок для другого. Так працює пунктуація лапок у вкладених лапках. Дивіться Вікіпедію та посилання на вкладені в неї цитати.
Примітно, що межі елементів ігноруються, тому не має значення, навіть якщо ваш другий елемент вкладений глибше або якщо обидва елементи вкладені у власні батьківські елементи, він все одно працюватиме однаково, що робить його особливо корисним у абзацах, які можуть містять різні види і комбінацію елементів фразування ( a
, br
, code
, em
, span
, strong
, і т.д., а також q
сам по собі). Спосіб вкладання котирувань залежить виключно від кількості open-quote
s та close-quote
s, які були сформовані в будь-який момент часу, а алгоритм детально описаний у розділі 12.3.2 специфікації CSS2 , закінчуючи наступною приміткою:
Примітка. Глибина цитування не залежить від вкладеності вихідного документа або структури форматування.
З цією метою існує два так званих "рішення" цієї проблеми, обидва з яких передбачають додавання ::after
псевдоелемента, щоб збалансувати перший набір відкритих котирувань.
Вставляючи близькі лапки, використовуючи ::after
лапки для першого елемента, припиняється перед тим, як зустрічається другий елемент, тому немає вкладеності лапок.
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>
Якщо ви насправді не хочете відображати близькі лапки, ви все одно можете заборонити браузеру генерувати одинарні лапки для другого елемента за допомогою 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
це відкрити цитату. Це не стосується символу подвійних лапок.