Icon Fonts: มันทำงานอย่างไร?


89

ผมเข้าใจว่าแบบอักษรไอคอนเป็นเพียงตัวอักษรและการที่คุณจะได้รับไอคอนโดยเพียงแค่การเรียกชื่อคลาสของพวกเขา แต่วิธีการทำไอคอนการทำงานแบบอักษร?

ฉันได้ลองตรวจสอบทรัพยากรแบบอักษรไอคอนที่เกี่ยวข้องที่โหลดใน Chrome เพื่อดูว่าแบบอักษรของไอคอนแสดงไอคอนอย่างไร (เมื่อเทียบกับแบบอักษรทั่วไป) แต่ฉันไม่สามารถทราบได้ว่าเกิดอะไรขึ้น

ฉันยังไม่ประสบความสำเร็จในการค้นหาแหล่งข้อมูลเกี่ยวกับวิธีการทำ "เทคนิคแบบอักษรไอคอน" นี้แม้ว่าจะมีแบบอักษรไอคอนมากมายให้ใช้งานก็ตาม นอกจากนี้ยังมีแหล่งข้อมูลมากมายที่แสดงให้เห็นว่าสามารถรวมฟอนต์ไอคอนได้ อย่างไร แต่ดูเหมือนจะไม่มีใครแบ่งปันหรือเขียนเกี่ยวกับวิธีการทำเช่นนี้!

คำตอบ:


53

Glyphiconsมีภาพและไม่ได้ตัวอักษร ไอคอนทั้งหมดจะอยู่ในภาพสไปรต์ (มีให้เลือกเป็นแต่ละภาพ) และจะถูกเพิ่มเข้าไปในองค์ประกอบตามตำแหน่งbackround-images:

ไกลฟิคอน

ไอคอนตัวอักษรจริง ( FontAwesomeเป็นต้น) ไม่เกี่ยวข้องกับการดาวน์โหลดแบบอักษรที่เฉพาะเจาะจงและทำให้การใช้งานของcontentคุณสมบัติเช่น:

@font-face {
    ...
    src: url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
         url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
         url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
    ...
}

.icon-beer:before {
    content: "\f0fc";
}

เนื่องจากcontentคุณสมบัตินี้ไม่ได้รับการสนับสนุนในเบราว์เซอร์รุ่นเก่าสิ่งเหล่านี้จึงใช้ประโยชน์จากรูปภาพด้วย

นี่คือตัวอย่างของ FontAwesome ที่ดิบอย่างสมบูรณ์ในการใช้เป็นแบบอักษรการเปลี่ยน( - คุณอาจไม่เห็นสิ่งนี้!) เป็นรถพยาบาล: http://jsfiddle.net/GWqcF/2


4
ไอคอน FontAwesome เป็นแบบอักษร ฉันได้พูดถึง FontAwesome ในคำตอบของฉันและกล่าวต่อไปว่าพวกเขาจัดการกับเบราว์เซอร์ที่ไม่รองรับวิธีการเพิ่มไอคอนลงในหน้าเว็บด้วย CSS อย่างไร
James Donnelly

3
ไอคอนเป็นอักขระของแบบอักษร ตัวอย่างคร่าวๆ: ตัวอักษร "Z" สามารถออกแบบให้มีลักษณะเหมือนกระเป๋าเดินทางบันทึกเป็นแบบอักษรแล้วใช้บนเว็บไซต์
James Donnelly

1
นี่คือตัวอย่างของ FontAwesome ที่ใช้งานแบบดิบอย่างสมบูรณ์เปลี่ยนเป็นรถพยาบาล: jsfiddle.net/GWqcF/2
James Donnelly

6
@VivekChandra ใช่แล้ว! :-) ฟอนต์ของไอคอนก็เหมือนกับฟอนต์อื่น ๆ ยกเว้นว่าตัวละครจะมีสไตล์เหมือนไอคอน FontAwesome ใช้ช่วงของตัวอักษรที่สงวนไว้สำหรับ "การใช้งานส่วนตัว"
James Donnelly

1
น่ากลัว ขอบคุณสำหรับแหล่งข้อมูลทั้งหมด - เราจะตรวจสอบสิ่งต่างๆให้ชัดเจนยิ่งขึ้นในขณะนี้
วิเวกจันทรา

23

หากคำถามของคุณคือคลาส CSS สามารถแทรกอักขระเฉพาะได้อย่างไร (ซึ่งจะแสดงเป็นไอคอนในแบบอักษรพิเศษ) ให้ดูที่แหล่งที่มาของ FontAwesome :

.icon-glass:before { content: "\f000"; }
.icon-music:before { content: "\f001"; }
.icon-search:before { content: "\f002"; }
.icon-envelope:before { content: "\f003"; }
.icon-heart:before { content: "\f004"; }

ดังนั้นคำสั่งเนื้อหา CSS จึงถูกใช้เพื่อแทรกอักขระ (ซึ่งมาจากพื้นที่สงวนการใช้งานส่วนตัวพิเศษของ Unicode ที่ไม่ทำให้ผู้อ่านคนอื่นสับสน)


2
เครื่องหมายทับ f หมายถึงอะไร?
CodyBugstein

5
fไม่ได้เป็นส่วนหนึ่งของมันก็แค่ตัวเลขฐานสิบหก 15. เครื่องหมายเริ่มลำดับหนีสำหรับจุดโค้ดเลขฐานสิบหก \f004ใน CSS ก็เหมือนกับHTML
Thilo

11

ไอคอนเว็บฟอนต์ทำงานอย่างไร

ไอคอนแบบอักษรบนเว็บทำงานโดยใช้ CSS เพื่อแทรกสัญลักษณ์เฉพาะลงใน HTML โดยใช้คุณสมบัติเนื้อหา จากนั้นใช้@font-faceโหลดเว็บฟอนต์ dingbat ที่จัดรูปแบบสัญลักษณ์ที่ฉีดเข้าไป ผลที่สุดคือสัญลักษณ์ที่ฉีดกลายเป็นไอคอนที่ต้องการ

ในการเริ่มต้นคุณจะต้องมีไฟล์แบบอักษรบนเว็บที่มีไอคอนที่คุณต้องการซึ่งกำหนดไว้สำหรับASCIIอักขระเฉพาะ(A, B, C, !, @, #, etc.)หรือในพื้นที่การใช้งานส่วนตัวของฟอนต์ Unicode ซึ่งเป็นช่องว่างในแบบอักษรที่จะไม่ถูกใช้โดยอักขระเฉพาะใน a แบบอักษรที่เข้ารหัส Unicode

อ่านเพิ่มเติมวิธีการสร้างไอคอน webfont ที่ไอคอน Webfont ตอบสนอง

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