Як імпортувати веб-шрифт Google у файл CSS?


258

Я працюю з CMS, в якому я маю доступ лише до CSS-файлу. Отже, я не можу нічого включити до HEAD документа. Мені було цікаво, чи існує спосіб імпорту веб-шрифту з CSS-файлу?

Відповіді:


382

Використовуйте @importметод:

@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');

Очевидно, що "Open Sans" ( Open+Sans) є імпортованим шрифтом. Тож замініть його своїм. Якщо в імені шрифту є кілька слів, кодуйте його URL, додаючи +знак між кожним словом, як і я.

Переконайтеся, що ви розміщуєте @importв самому верху свого CSS перед будь-якими правилами.

Google Шрифти можуть автоматично генерувати @importдирективу для вас. Вибравши шрифт, натисніть на (+)піктограму поруч. У лівому нижньому куті з'явиться контейнер під назвою "1 вибрана сім'я". Клацніть по ньому, і він розшириться. На вкладці "Налаштувати" виберіть параметри, а потім переключіться назад на "Вставити" та натисніть "@import" у розділі "Вставити шрифт". Скопіюйте CSS між <style>тегами у таблицю стилів.


25
Вам слід уникати використання @import, оскільки це відкладе завантаження включеного ресурсу до отримання файлу. Дивіться детальну відповідь тут: stackoverflow.com/a/12380004/925560
Ренато Карвальо

5
Переміщення лінії @import до вершини вирішило моє життя! Дякую!
joalcego

2
Чому Google це говорить? Google Insides стверджує, що не робить @import. developers.google.com/speed/pagespeed/insights ?
небезпека89

2
Це застаріла відповідь. @importзавантажується послідовно і найкраще уникати: varvy.com/pagespeed/avoid-css-import.html Використовується бажаний (і за замовчуванням) спосіб завантаження шрифтів Google у ці дні <link>.
Чак Ле Бут

2
Ви пошкодуєте про це, коли прийдете до SEO та почнете оптимізувати швидкість своєї сторінки за допомогою даних Google PageSpeed. Використовуйте <link>та оптимізуйте її доставку замість цього.
Бухгалтер

67
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&amp;lang=en" />

Краще не використовувати @import. Просто використовуйте елемент посилання, як показано вище, в голові вашого макета.


19
Чи можете ви розширити, чому "Краще не використовувати"? Я шукав це питання, бо хотів би знати, який метод вважається найкращим.
Адам Холло

2
У мене була проблема з Internet Explorer із @import. Іноді це просто не читається.
Берк

6
Він спеціально сказав, що не може використовувати тег <link> у своєму заголовку.
Натан

26
+1 для використання "посилання", оскільки це не блокує паралельне завантаження інших зовнішніх файлів. 'import' блокує паралельне завантаження інших зовнішніх файлів.
Джаміч

2
Використовуючи @import, ви можете зробити шрифт частиною стилю CSS замість розмітки HTML, що семантично вважається більш правильним, і ви можете поміняти шрифти на своєму сайті за допомогою CSS. Але, як прокоментував Чак, здається, ти сприймаєш невелику швидкість для цього. Можливо, годинник завантажуйте, а потім вирішуйте, від конкретного випадку. Зауважте, що для SVGs @import - це єдиний спосіб, який працює AFAIK.
менталіст

38

Завантажте шрифт ttf / інші файли формату, а потім просто додайте цей приклад коду CSS:

@font-face { font-family: roboto-regular; 
			 src: url('../font/Roboto-Regular.ttf'); } 
h2{
	font-family: roboto-regular;
}


36

Додайте код нижче у свій файл CSS, щоб імпортувати веб-шрифти Google.

@import url(https://fonts.googleapis.com/css?family=Open+Sans);

Замініть значення параметра Open + Sans своїм іменем шрифту.

Ваш файл CSS повинен виглядати так:

@import url(https://fonts.googleapis.com/css?family=Open+Sans);

body{
   font-family: 'Open Sans',serif;
}

13
  1. Просто перейдіть на сторінку https://fonts.google.com/
  2. Додайте шрифт, натиснувши +
  3. Перейдіть до вибраного шрифту> Embed> @IMPORT> скопіюйте URL та вставте у свій .css файл над тегом body.
  4. Зроблено.

8

Використовуйте тег @import

@import url('http://fonts.googleapis.com/css?family=Kavoon');

8

Поряд з вищезазначеними відповідями, також враховуйте цей сайт; https://google-webfonts-helper.herokuapp.com/fonts

Перевага:

  • дозволяє самостійно розміщувати ці google-шрифти для кращого часу відгуку

  • виберіть свій шрифт

  • виберіть свій набір символів
  • вибирайте стилі / вагу шрифту
  • виберіть свій цільовий браузер
  • і ви отримаєте фрагменти CSS (додайте до таблиці стилів css) плюс поштовий файл файлів шрифтів, які потрібно включити у ваш проект

Наприклад, your_theme.css

@font-face { 
    font-family: 'Open Sans'; 
    font-style: normal;  
    font-weight: 400;
    src: local('Open Sans Regular'), local('OpenSans-Regular'),
             url('css_fonts/open-sans-v15-latin-regular.woff2') format('woff2'), 
             url('css_fonts/open-sans-v15-latin-regular.woff') format('woff'); 
}

body { 
    font-family: 'Open Sans',sans-serif;
}

1
Це також дозволяє font-weight: 400спочатку завантажити, а потім завантажити решту шрифту, використовуючи той самий код без аргументів. Це дозволяє швидше відображати, і якщо вам не потрібен весь шрифт, менші файли CSS.
мото

4

Ви також можете використовувати @ font-face для посилання на URL-адреси. http://www.css3.info/preview/web-fonts-with-font-face/

Чи підтримує CMS iframe? Можливо, ви також зможете запустити кадр у верхній частині свого вмісту. Це, мабуть, буде повільніше - краще включити його до свого CSS.


3
<link href="https://fonts.googleapis.com/css?family=(any font of your 
choice)" rel="stylesheet" type="text/css">

Щоб вибрати шрифт, перейдіть за посиланням: https://fonts.google.com

Напишіть на веб-сайті назву шрифту, виключаючи дужки.

Наприклад, ви вибрали омару як шрифт на ваш вибір,

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" 
type="text/css">

Потім ви можете використовувати це зазвичай як сімейство шрифтів у всьому файлі HTML / CSS.

Наприклад

<h2 style="Lobster">Please Like This Answer</h2>


1

Ми легко можемо це зробити в css3. Треба просто використовувати оператор @import. Наступне відео легко описує спосіб, як це зробити. тому йдіть і стежте за цим.

https://www.youtube.com/watch?v=wlPr6EF6GAo

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.