Я только что обнаружил, что мой Chrome будет обрабатывать font-family: "sans-serif"
и font-family: sans-serif
по-разному (он будет выбирать разные шрифты). Кто-нибудь может объяснить, как это работает? Я не могу найти никаких подсказок в спецификациях. [редактировать: ...поскольку я, очевидно, не очень внимательно их читал.]
Разница между семейством шрифтов и семейством шрифтов?
Ответы (1)
Из тех же спецификаций:
Если последовательность идентификаторов задана как имя семейства шрифтов, вычисляемое значение представляет собой имя, преобразованное в строку путем соединения всех идентификаторов в последовательности одинарными пробелами.
Чтобы избежать ошибок при экранировании, рекомендуется заключать в кавычки имена семейств шрифтов, которые содержат пробелы, цифры или знаки пунктуации, кроме дефисов:
Поэтому, когда вы пишете «без засечек», это особый шрифт, который считается строкой, тогда как последний считается общим.
person
Rahul Tripathi
schedule
20.12.2013
Благодарю вас! Я должен добавить, что я нашел
"sans-serif"
-декларацию в нескольких электронных письмах, которые, похоже, были отправлены из Microsoft Outlook.
- person leo; 20.12.2013
Наиболее важной частью спецификации является предложение «Общие имена семейств шрифтов являются ключевыми словами и НЕ ДОЛЖНЫ заключаться в кавычки».
- person Jukka K. Korpela; 20.12.2013
@ JukkaK.Korpela: - Да, я согласен, и я думаю, что ОП, должно быть, уже внимательно прочитал это +1;)
- person Rahul Tripathi; 20.12.2013
На практике объявление
font-family: "sans-serif"
не имеет никакого эффекта, поскольку шрифта с таким именем не существует. Таким образом, используемый шрифт зависит от других правил CSS или, в конечном счете, от настроек браузера и настроек браузера по умолчанию.
- person Jukka K. Korpela; 20.12.2013
"san-serif"
обрабатывается как строка, аsans-serif
доходит до тире и сходит с ума. - person DrCord   schedule 20.12.2013serif
,cursive
... - person damian   schedule 20.12.2013