ใช้แบบอักษรที่กำหนดเองโดยใช้ CSS?


175

ฉันเคยเห็นเว็บไซต์ใหม่บางแห่งที่ใช้แบบอักษรที่กำหนดเองในเว็บไซต์ของพวกเขา (นอกเหนือจาก Arial ปกติ Tahoma และอื่น ๆ )

และรองรับเบราว์เซอร์จำนวนมาก

เราจะทำอย่างนั้นได้อย่างไร? ในขณะเดียวกันก็ป้องกันไม่ให้ผู้ใช้สามารถดาวน์โหลดแบบอักษรได้ฟรีหากเป็นไปได้


เปลี่ยนจาวาสคริปต์เช่นcufon
tq

คำตอบ:


365

โดยทั่วไปคุณสามารถใช้แบบอักษรที่กำหนดเองโดยใช้@font-faceใน CSS ของคุณ นี่เป็นตัวอย่างพื้นฐานมาก:

@font-face {
    font-family: 'YourFontName'; /*a name to be used later*/
    src: url('http://domain.com/fonts/font.ttf'); /*URL to font*/
}

จากนั้นจะใช้ฟอนต์กับองค์ประกอบเฉพาะ:

.classname {
    font-family: 'YourFontName';
}

( .classnameเป็นตัวเลือกของคุณ)

โปรดทราบว่ารูปแบบแบบอักษรบางอย่างอาจไม่ทำงานในเบราว์เซอร์ทั้งหมด คุณสามารถใช้เครื่องมือสร้าง fontsquirrel.comเพื่อหลีกเลี่ยงความพยายามแปลงมากเกินไป

คุณสามารถค้นหาแบบอักษรบนเว็บฟรีที่จัดทำโดยGoogle Fonts (มี@font-faceกฎCSS ที่สร้างขึ้นอัตโนมัติโดยอัตโนมัติดังนั้นคุณไม่ต้องเขียนเอง)

ในขณะเดียวกันก็ป้องกันไม่ให้ผู้อื่นเข้าถึงตัวอักษรได้ฟรีหากเป็นไปได้

ไม่เป็นไปไม่ได้ที่จะจัดสไตล์ข้อความของคุณด้วยแบบอักษรที่กำหนดเองซึ่งฝังอยู่ใน CSS ขณะที่ป้องกันไม่ให้ผู้อื่นดาวน์โหลด คุณต้องใช้รูปภาพ, Flash หรือHTML5 Canvasซึ่งทั้งหมดนี้ไม่ได้ใช้งานได้จริง

ฉันหวังว่าจะช่วยได้!


ขอบคุณสำหรับคำตอบโดยละเอียด ฉันขอถามได้ไหมว่าวิธีการนั้นใช้ได้กับเบราว์เซอร์รุ่นเก่าหรือไม่? เช่น .. IE8 / 7/6? และแบบอักษรทั้งหมดมีการแสดงบน Google Webfonts ฟรีสำหรับใช้ในเชิงพาณิชย์หรือไม่
Radicate

1
@Don ใช้@font-faceงานได้กับเบราว์เซอร์ใหม่ที่สมเหตุสมผล แต่คุณต้องมีรูปแบบที่ถูกต้อง นั่นเป็นเหตุผลที่ฉันแนะนำให้ใช้fontsquirrel.comเพื่อทำให้กระบวนการแปลงและการสร้างกฎเป็นไปโดยอัตโนมัติ และใช่ Google Webfonts ให้บริการฟรีสำหรับใช้ในเชิงพาณิชย์ ( ลิงก์เล็ก ๆ สำหรับข้อมูลเพิ่มเติม )
คริส

@Chris, ละเว้นfont-style:และfont-weight:ใน@font-faceการประกาศของคุณละเมิดมาตรฐานใด ๆ ?
Pacerier

1
ที่จะได้รับการทำงานผมต้องเพิ่มformat('truetype')ระหว่าง URL ;แหล่งที่มาและ
CalculatorFeline

สวัสดีคริส คุณรู้วิธีใช้แบบอักษรนี้หรือไม่? fontsmarket.com/font-download/gothic-821-condensed-bt
Billal Begueradj

30

เพื่อให้แน่ใจว่าแบบอักษรของคุณสามารถทำงานร่วมกับเบราว์เซอร์ได้ให้ตรวจสอบให้แน่ใจว่าคุณใช้ไวยากรณ์นี้:

@font-face {
    font-family: 'Comfortaa Regular';
    src: url('Comfortaa.eot');
    src: local('Comfortaa Regular'), 
         local('Comfortaa'), 
         url('Comfortaa.ttf') format('truetype'),
         url('Comfortaa.svg#font') format('svg'); 
}

ที่นำมาจากที่นี่


25

คุณต้องดาวน์โหลดไฟล์แบบอักษรและโหลดใน CSS ของคุณ

ฉันกำลังใช้ฟอนต์ Yanone Kaffeesatzในเว็บแอปพลิเคชันของฉัน

ฉันโหลดและใช้งานผ่าน

@font-face {
    font-family: "Yanone Kaffeesatz";
    src: url("../fonts/YanoneKaffeesatz-Regular.ttf");
}

ในสไตล์ชีทของฉัน


8

วันนี้มีรูปแบบตัวอักษรคอนเทนเนอร์สี่แบบที่ใช้บนเว็บ: EOT, TTF, WOFF,และWOFF2.

น่าเสียดายที่แม้จะมีตัวเลือกที่หลากหลาย แต่ไม่มีรูปแบบสากลเดียวที่ใช้ได้กับเบราว์เซอร์เก่าและใหม่ทั้งหมด:

  • EOTเป็น IE เท่านั้น
  • TTFรองรับ IE บางส่วน
  • WOFF ได้รับการสนับสนุนที่หลากหลาย แต่ไม่มีให้ในเบราว์เซอร์รุ่นเก่า
  • การสนับสนุนWOFF 2.0 เป็นงานที่อยู่ระหว่างดำเนินการสำหรับเบราว์เซอร์จำนวนมาก

หากคุณต้องการให้เว็บแอปของคุณมีแบบอักษรเหมือนกันในทุกเบราว์เซอร์คุณอาจต้องการให้แบบอักษรทั้ง 4 แบบใน CSS

 @font-face {
      font-family: 'besom'; !important
      src: url('fonts/besom/besom.eot');
      src: url('fonts/besom/besom.eot?#iefix') format('embedded-opentype'),
           url('fonts/besom/besom.woff2') format('woff2'),
           url('fonts/besom/besom.woff') format('woff'),
           url('fonts/besom/besom.ttf') format('truetype'),
           url('fonts/besom/besom.svg#besom_2regular') format('svg');
      font-weight: normal;
      font-style: normal;
  }

สวัสดี Hitesh ฉันขอถามการใช้งานของ#iefixอะไรได้บ้าง และส่วนนี้font-family: 'besom'; !importantที่!importantอยู่นอก;?
Jonjie

4

หากคุณไม่พบแบบอักษรใด ๆ ที่คุณชอบจาก Google.com/webfonts หรือ fontsquirrel.com คุณสามารถสร้างแบบอักษรบนเว็บของคุณเองด้วยตัวอักษรที่คุณทำ

นี่คือแบบฝึกหัดที่ดี: สร้างชุดตัวอักษรสำหรับเว็บแบบอักษรสำหรับใบหน้าของคุณเอง

แม้ว่าฉันไม่แน่ใจเกี่ยวกับการป้องกันไม่ให้บางคนดาวน์โหลดแบบอักษรของคุณ

หวังว่าจะช่วยได้


4

นอกจากนี้ยังมีเครื่องมือที่น่าสนใจเรียกว่าCufon มีการสาธิตวิธีการใช้งานในบล็อกนี้ มันง่ายและน่าสนใจจริงๆ นอกจากนี้ยังไม่อนุญาตให้ผู้อื่น ctrl + c / ctrl + v เนื้อหาที่สร้างขึ้น


1

ฉันกำลังทำงานกับ Win 8 ใช้รหัสนี้ มันใช้งานได้กับ IE และ FF, Opera และอื่น ๆ สิ่งที่ฉันเข้าใจคือ: ตัวอักษร woff เป็นสีอ่อน ๆ และใช้กันทั่วไปในแบบอักษรของ Google

ไปที่นี่การแปลงตัวอักษร TTF ของคุณเพื่อ WOFF ก่อน

@font-face
{
    font-family:'Open Sans';
    src:url('OpenSans-Regular.woff');
}

0

ก่อนอื่นคุณไม่สามารถป้องกันผู้คนจากการดาวน์โหลดแบบอักษรยกเว้นว่าเป็นของคุณและมักใช้เวลาเป็นเดือน และไม่มีเหตุผลที่จะป้องกันไม่ให้ผู้คนใช้แบบอักษร แบบอักษรจำนวนมากที่คุณเห็นบนเว็บไซต์สามารถพบได้บนแพลตฟอร์มฟรีเช่นที่ฉันกล่าวถึงด้านล่าง

แต่ถ้าคุณต้องการใช้แบบอักษรในเว็บไซต์ของคุณอ่านสิ่งนี้: มีวิธีที่ง่ายและฟรีในการใช้แบบอักษรในเว็บไซต์ของคุณ ฉันอยากจะแนะนำแบบอักษรของ Google เพราะมันฟรีและใช้งานง่าย ตัวอย่างเช่นฉันจะใช้แบบอักษร Bangers จาก Google ( https://fonts.google.com/specimen/Bangers?query=bangers&sidebar.open&selection.family=Bangers ) นี่คือลักษณะที่ปรากฏ: HTML

<head>
<link href="https://fonts.googleapis.com/css2?family=Bangers&display=swap" rel="stylesheet">
</head>

CSS

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