Подтвердить что ты не робот

`content: ''` vs `content: none`

Я читал Eric Meyer CSS reset и видел это:

blockquote:before, blockquote:after,
q:before, q:after {
    /* ? */ content: '';
    /* ? */ content: none;
}

Я предполагаю, что некоторые браузеры поддерживают content: '' и некоторые content: none, так ли это? И какие браузеры поддерживают?

4b9b3361

Ответ 1

Майер цитирует Пол Чаплин с этой версией стилей blockquote/q reset.

Chaplin 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 a good idea...
    */
    content: none;
}

Чтобы свернуть его: текущие версии большинства браузеров просто поддерживают стиль quotes: none, что устраняет необходимость использования селекторов :before и :after. Нечетным человеком был Safari/WebKit, который не уважал quotes: none. Следующий способ решить это был с псевдоэлементами :before/:after, но во время этой записи WebKit не поддерживал content: none, поэтому требуется content: "".

Однако этот пост был в 2008 году, а быстрый тест с текущими браузерами WebKit (Safari 5.1 и Chrome 12) показывает, что quotes: none отлично работает на обоих. По какой-то причине ошибка content: none против WebKit по-прежнему открыта, а ошибка для свойства кавычек была закрыта сравнительно недавно.

Итак, длинный рассказ, дополнительные стили, похоже, существуют для поддержки более старых версий Safari (и, возможно, Chrome). Немного сложнее пригводиться, когда они получили поддержку, но текущие версии всех браузеров, похоже, отлично справляются с quotes: nonecontent: none).