Meyer кредитует Paul Chaplin с этой версией стилей blockquote/q reset.
Chaplin's post по данному предмету содержит следующий блок стиля, полезный аннотированный.
blockquote, q
{
quotes: none;
}
/*
Safari doesn't support the quotes attribute, so we do this instead.
*/
blockquote:before, blockquote:after, q:before, q:after
{
/*
CSS 2; used to remove quotes in case "none" fails below.
*/
content: "";
/*
CSS 2.1; will remove quotes if supported, and override the above.
User-agents that don't understand "none" should ignore it, and
keep the above value. This is here for future compatibility,
though I'm not 100% convinced that it's a good idea...
*/
content: none;
}
Кипятить его вниз: текущие версии большинства браузеров просто поддерживают quotes: none
стиль, который устраняет необходимость использования :before
и :after
селекторов. Нечетным человеком был Safari/WebKit, который не уважал quotes: none
. Следующий способ решить это был с псевдоэлементами :before
/, но на момент написания этой статьи WebKit не поддерживал content: none
, поэтому требовалось content: ""
.
Однако этот пост был в 2008 году, а quick test с текущими браузерами WebKit (Safari 5.1 и Chrome 12) показывает, что quotes: none
отлично работает на обоих. По какой-то причине content: none
bug against WebKit по-прежнему открыт, а bug for the quotes property был закрыт совсем недавно.
Итак, длинный рассказ, дополнительные стили, похоже, существуют для поддержки более старых версий Safari (и, возможно, Chrome). Немного сложнее пригвоздить, когда они получили поддержку, но текущие версии всех браузеров, похоже, имеют дело с quotes: none
(и content: none
).
Так что нет * реального * преимущества использования 'content: none'? –
'content: none' и' content: "" 'не совсем то же самое. 'content: none' для явного запрета генерации псевдо-элемента' before' или 'after' (на самом деле используется только для переопределения другого стиля, который бы сгенерировал контент), тогда как' content: "" 'создает дополнительные элементы , но они пусты. Что касается * реального * преимущества, сочетание стилей на ': before: или': after' сделает видимым разницу (например, некоторое дополнение и фоновый цвет), но, вероятно, это скорее «чистота» или «правильность». Во всяком случае, нет никакого вреда для наличия «content: none» для поддержки браузеров. –
просто сказать, что я натолкнулся на это, переопределив прежний стиль. Я обнаружил, что контент «" определенно перенес некоторые из предыдущих стилей с ним, а контент «none» не работал в ipad, который я использую для тестирования (как указано в комментарии выше). Я использовал display none на псевдоэлементе как переопределение «пояса и фигурных скобок» (вместо того, чтобы сбросить каждый стиль) – user1010892