2012-12-06 17 views
21

O ile mi wiadomo, trzeba używać podwójnych lub apostrofów czcionek jeśli zawierają spacje, jak:Dlaczego nazwy czcionek wymagają cytatów?

font-family: "Times New Roman", Times; 
font-family: 'Times New Roman', Times; 

Ale czcionek Google (http://www.google.com/webfont), widzę też

font-family: 'Margarine', cursive; 

niektórzy nawet używać go tak:

font-family: 'Margarine', 'Helvetica', arial; 

Uważam to dziwne, jak następujących robót, a także:

font-family: Arial, Helvetica, sans-serif; 
font-family: Cambria, serif; 

Jakie jest prawidłowe użycie cytatów dotyczących nazw czcionek w CSS?

+2

nazwy czcionki mogą zawierać spacji: http: // mathiasbynens.be/notes/unquoted-font-family –

Odpowiedz

24

Zawsze można umieścić określoną nazwę rodziny czcionek w cudzysłowie, podwójne lub pojedyncze, więc Arial, "Arial" i 'Arial' są równoważne. Tylko nazwy rodziny czcionek generycznych zdefiniowanych przez CSS, takie jak sans-serif, muszą być pisane bez cudzysłowów.

Wbrew powszechnemu przekonaniu nazwa czcionki składająca się z nazw rozdzielonych spacjami, takich jak Times New Roman, nie musi być cytowana. Jednak speczaleca „przytoczyć nazwiska czcionek, które zawierają spacje, cyfry, znaki interpunkcyjne lub inne niż myślnikami”

-5

Musisz użyć cudzysłowów, gdy w nazwie czcionki jest spacja. Jeśli w nazwie czcionki nie ma spacji, najlepiej jest je pominąć, ale nie będzie to miało wpływu na rozmiar pliku.

Przykłady:

font-family: "Times New Roman", Times; // ok, and best practice 
font-family: Times New Roman, Times; // incorrect, Browser won't be able to find Times New Roman 
font-family: "Times New Roman", "Times"; // ok, but has extraneous quotes around Times 
+0

Tak właśnie myślałem, ale powiedziałem, że widzę to wszędzie, nawet jeśli nie ma miejsca i próbuję rozgryźć różnicę, jeśli są jakieś, jeśli robię "margarynę", "Helvetica", arial; lub "Margaryna", Helvetica, arial; – Benn

+0

Nie ma różnicy. (Dodałem przykład, który z nadzieją pomaga.) – greg5green

+0

dziękuję! Widzę różnicę: – Benn

2

Właśnie dowiedziałem się, że cytaty nie są zawsze konieczne, ale raczej zalecane. Każdego dnia uczymy się czegoś nowego.

Inne miejsce je zobaczyć w właściwości CSS, które wymagają url

background:url('hithere.jpg'); 
background:url(hithere.jpg); 

Oba te stwierdzenia są zadziała dokładnie tak samo. To samo dotyczy czcionek, jedynym miejscem, w którym są one rzeczywiście wymagane, jest to, czy istnieją spacje i jakiego rodzaju cytat, którego używasz, jest w tym przypadku bez znaczenia, po prostu bądź konsekwentny w tym, jak TY to robisz i to jest naprawdę ważne.

+0

dziękuję, teraz ma to więcej sensu – Benn

+4

To nie jest prawda, ty * * nie wymaga ** cudzysłowów dla nazw czcionek zawierających spacje. –

+0

Nie wiedziałem o tym, poprawiłem moją odpowiedź, aby to odzwierciedlić. Dziękuję za to. –

1

Z dwóch powodów;

  1. Gdy rzeczywista nazwa font-family dzieli tę samą nazwę jako ogólny nazwiska, aby uniknąć nieporozumień ze słowami kluczowymi o tych samych nazwach np

    p {font-family: ‘Shift’, sans-serif;}

  2. Gdy istnieje więcej niż jedno słowo w nazwie font-family np

p {font-family: ‘Times New Roman’, ..... , a generic family name here ;}

Powiązane problemy