วิธีนำเข้า Google Web Font ในไฟล์ CSS


258

ฉันทำงานกับ CMS ซึ่งฉันสามารถเข้าถึงไฟล์ CSS ได้เท่านั้น ดังนั้นฉันไม่สามารถรวมสิ่งใดไว้ในส่วนหัวของเอกสาร ฉันสงสัยว่ามีวิธีนำเข้าแบบอักษรเว็บจากภายในไฟล์ CSS หรือไม่

คำตอบ:


382

ใช้@importวิธีการ:

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

เห็นได้ชัดว่า "Open Sans" ( Open+Sans) เป็นแบบอักษรที่นำเข้า ดังนั้นแทนที่ด้วยของคุณ หากชื่อของแบบอักษรมีหลายคำให้เข้ารหัส URL ด้วยการเพิ่ม+เครื่องหมายระหว่างแต่ละคำเหมือนที่ฉันทำ

ตรวจสอบให้แน่ใจว่าวาง@importที่ด้านบนสุดของ CSS ของคุณก่อนกฎใด ๆ

Google Fonts สามารถสร้าง@importคำสั่งให้คุณโดยอัตโนมัติ เมื่อคุณเลือกแบบอักษรแล้วให้คลิก(+)ไอคอนถัดจากแบบอักษร ที่มุมล่างซ้ายภาชนะชื่อ "1 Family Selected" จะปรากฏขึ้น คลิกที่มันและมันจะขยาย ใช้แท็บ "ปรับแต่ง" เพื่อเลือกตัวเลือกจากนั้นสลับกลับเป็น "ฝัง" และคลิก "@import" ภายใต้ "ฝังแบบอักษร" คัดลอก CSS ระหว่าง<style>แท็กลงในสไตล์ชีทของคุณ


25
คุณควรหลีกเลี่ยงการใช้ @import เนื่องจากจะเป็นการเลื่อนการโหลดของทรัพยากรที่รวมไว้จนกว่าจะมีการดึงไฟล์ ดูคำตอบโดยละเอียดได้ที่นี่: stackoverflow.com/a/12380004/925560
Renato Carvalho

5
การย้ายสาย @import ไปที่ด้านบนช่วยแก้ไขชีวิตของฉัน! ขอบคุณ!
joalcego

2
ทำไม google พูดอย่างนี้? Google Insides อ้างว่าไม่ได้ทำ @import Developers.google.com/speed/pagespeed/insights ?
danger89

2
นี่คือคำตอบที่ล้าสมัย @importโหลดตามลำดับและหลีกเลี่ยงการได้ดีที่สุด: varvy.com/pagespeed/avoid-css-import.htmlวิธีที่ต้องการ (และเริ่มต้น) เพื่อโหลดแบบอักษรของ Google ใน<link>ปัจจุบัน
Chuck Le Butt

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
คุณช่วยอธิบายได้ไหมว่าทำไม "ไม่ควรใช้" ดีกว่า ฉันค้นหาคำถามนี้เพราะฉันต้องการทราบว่าวิธีใดที่ถือว่าดีที่สุด
Adam Hollow

2
ฉันมีปัญหา internet explorer กับ @import บางครั้งมันก็ไม่อ่าน
Burk

6
เขากล่าวโดยเฉพาะว่าเขาไม่สามารถใช้แท็ก <link> ในส่วนหัวของเขา
นาธาน

26
+1 สำหรับการใช้ 'ลิงก์' เนื่องจากจะไม่บล็อกการโหลดไฟล์ภายนอกอื่น ๆ แบบขนาน 'นำเข้า' จะบล็อกการโหลดไฟล์ภายนอกอื่น ๆ แบบขนาน
Jahmic

2
ด้วยการใช้ @import คุณสามารถสร้างส่วนแบบอักษรของ CSS สไตล์แทนมาร์กอัป HTML ซึ่งมีความหมายที่ถูกต้องมากขึ้นและคุณสามารถสลับแบบอักษรบนไซต์ของคุณผ่าน CSS แต่ตามที่ชัคแสดงความคิดเห็นดูเหมือนว่าคุณจะได้รับความเร็วเล็กน้อย บางทีนาฬิกาเวลาโหลดแล้วตัดสินใจเป็นกรณี ๆ โปรดทราบว่าสำหรับ SVGs @import เป็นวิธีเดียวที่ทำงาน AFAIK
Mentalist


37

เพิ่มโค้ดด้านล่างในไฟล์ CSS ของคุณเพื่อนำเข้า Google Web Fonts

@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. ไปที่แบบอักษรที่เลือก> ฝัง> @IMPORT> คัดลอก url แล้ววางในไฟล์. css ของคุณเหนือแท็กเนื้อหา
  4. มันจบแล้ว.


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 ก็จะเล็กลง
moto

4

คุณยังสามารถใช้ @ font-face เพื่อเชื่อมโยงไปยัง URL http://www.css3.info/preview/web-fonts-with-font-face/

CMS รองรับ iframes หรือไม่ คุณอาจจะสามารถใส่ 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

เขียนชื่อตัวอักษรที่คุณเลือกจากเว็บไซต์โดยไม่รวมวงเล็บ

ตัวอย่างเช่นคุณเลือก Lobster เป็นแบบอักษรที่คุณต้องการ

<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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.