Czy muszę zawijać cudzysłowy wokół nazw rodzin czcionek w CSS?


95

Pamiętam, że dawno temu słyszałem, że uważano za „najlepszą praktykę” umieszczanie w cudzysłowie nazw czcionek zawierających wiele słów we właściwości rodziny czcionek CSS, na przykład:

font-family: "Arial Narrow", Arial, Helvetica, sans-serif;

Do licha próbowałem usunąć cytaty z, "Arial Narrow"a Safari i Firefox nie mają problemu z renderowaniem.

Czy jest jakaś logika w tej praktycznej zasadzie, czy jest to tylko mit? Czy był to problem ze starszymi przeglądarkami, który nie dotyczy już aktualnych wersji? Robię to od tak dawna, że ​​nigdy nie zastanawiałem się, czy to rzeczywiście konieczne.


Myślę, że dobrym pomysłem jest cytowanie wszystkich rodzin czcionek, a nie tych ogólnych. Utrzymuje spójność.
Micah Henning

Odpowiedzi:


79

Specyfikacja CSS 2.1 mówi nam, że:

Nazwy rodzin czcionek należy podawać w cudzysłowach jako ciągi znaków lub niecytować jako sekwencje co najmniej jednego identyfikatora. Oznacza to, że większość znaków interpunkcyjnych i cyfr na początku każdego tokena musi być poprzedzona nazwami rodzin czcionek bez cudzysłowów.

Dalej mówi:

Jeśli jako nazwę rodziny czcionek podano sekwencję identyfikatorów, obliczoną wartością jest nazwa przekształcona na ciąg poprzez połączenie wszystkich identyfikatorów w sekwencji pojedynczymi odstępami.

Aby uniknąć błędów w zmianie znaczenia, zaleca się cytowanie nazw rodzin czcionek, które zawierają spacje, cyfry lub znaki interpunkcyjne inne niż łączniki:

Więc tak, jest różnica, ale jest mało prawdopodobne, aby powodowała jakiekolwiek problemy. Osobiście zawsze cytowałem nazwy czcionek, które zawierają spacje. W kilku (prawdopodobnie bardzo rzadkich) przypadkach cytaty są absolutnie wymagane:

Nazwy rodzin czcionek, które są takie same jak wartość słowa kluczowego („dziedziczenie”, „szeryfowe”, „bezszeryfowe”, „monospace”, „fantasy” i „kursywą”) muszą być cytowane, aby uniknąć pomyłki ze słowami kluczowymi o tych samych nazwach. Słowa kluczowe „początkowe” i „domyślne” są zarezerwowane do użytku w przyszłości i muszą być również cytowane, gdy są używane jako nazwy czcionek.

Zwróć również uwagę, że znaki interpunkcyjne, takie jak / lub! w identyfikatorze może być również konieczne użycie cudzysłowu lub zmiany znaczenia.


6
initiali też defaultsą słowami kluczowymi (są zarezerwowane do użytku w przyszłości). Zobacz nazwy rodzin czcionek bez cytatów w CSS .
Mathias Bynens

23

Zgodnie ze specyfikacją CSS Fonts Module Level 3 z października 2013 r. „ Nazwy rodzin czcionek inne niż rodziny rodzajowe muszą być podawane w cudzysłowie jako ciągi znaków lub bez cytowania jako sekwencja jednego lub więcej identyfikatorów ”. Więc NIE MUSISZ ująć ich w cudzysłów.

Jeśli jednak nie wybierzesz „ większości znaków interpunkcyjnych i cyfr na początku każdego tokena należy wprowadzić zmiany znaczenia ”. Aby uniknąć pomyłek, W3C faktycznie zaleca cytowanie nazw rodzin czcionek zawierających spacje, cyfry, znaki interpunkcyjne lub wartości słów kluczowych („dziedzicz”, „szeryf” itp.).

Ogólne nazwy rodzin czcionek („szeryfowe”, „bezszeryfowe”, „kursywne”, „fantasy” i „o stałej szerokości”) NIE WOLNO cytować, ponieważ w rzeczywistości są to słowa kluczowe.


0

Jeśli styl jest wbudowany <font style="font-family:Arial Narrow">some texte</font>, to działa.

Ale jeśli nazwa czcionki policyjnej zawiera jakieś znaki specjalne lub zaczyna się od cyfry, zawiera cytaty lub inne dziwne rzeczy (np. „01 Digitall”, „a_CityNovaTitulB & WLt” lub „Bailey'sCar”), musisz użyć specjalnej składni z & rdquo; które można zastosować do wszelkiego rodzaju dziwnych nazw czcionek:

<font style="font-family:&quot;a_CityNovaTitulB&WLt&quot; , &quot;Bailey'sCar&quot;">some text</font>

W programie FireFox źródło pokaże & bdquo; w ten sposób:

bez tej sztuczki to:

<font style="font-family:a_CityNovaTitulB&WLt ,Bailey'sCar">some text</font>

nie działa automatycznie w każdej przeglądarce. Jest to przydatne w przypadku nazwy czcionki, która zaczyna się od liczby do, np. „8 pinów”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.