CSS ฟอนต์
- หน้าก่อน CSS ข้อความ
- หน้าต่อไป CSS รายการ
CSS ความสามารถของแบบอักษรกำหนดรูปแบบของอักษร ขนาด หนาแน่น รูปแบบ (เช่น ออกหลัง) และรูปร่าง (เช่น ตัวหนาแน่นเล็ก)
CSS ลำดับฟอนต์
ใน CSS มีชื่อลำดับฟอนต์ทั้งหมดสองชนิดที่แตกต่างกัน:
- ลำดับฟอนต์ทั่วไป - กลุ่มฟอนต์ที่มีที่มากันมากกว่า (เช่น "Serif" หรือ "Monospace")
- ลำดับฟอนต์เฉพาะ - ลำดับฟอนต์ที่เฉพาะ (เช่น "Times" หรือ "Courier")
นอกจากลำดับฟอนต์เฉพาะ ลูกตัวอักษร CSS ก็ได้กำหนดลำดับฟอนต์ทั่วไปทั้งห้าชนิด:
- ฟอนต์ Serif
- ฟอนต์ Sans-serif
- ฟอนต์ Monospace
- ฟอนต์ Cursive
- ฟอนต์ Fantasy
ถ้าคุณต้องการทราบข้อมูลเกี่ยวกับลำดับฟอนต์เพิ่มเติม โปรดอ่าน CSS ลำดับฟอนต์.
ลำดับฟอนต์ที่กำหนด
ใช้ คุณสมบัติ font-family กำหนดลำดับฟอนต์ของข้อความ
ใช้ลำดับฟอนต์ทั่วไป
ถ้าคุณต้องการให้เอกสารใช้ฟอนต์ sans-serif แต่คุณไม่ได้เกี่ยวใจกับชื่อฟอนต์ที่ใช้ แล้วก็เป็นคำประกาศที่เหมาะสม
body {font-family: sans-serif;}
สำนักงานต่างประเทศจะเลือกฟอนต์จากลำดับฟอนต์ sans-serif (เช่น Helvetica) และนำมาใช้ในองค์ประกอบ body ซึ่งมีการสืบทอด ฟอนต์นี้จะถูกนำมาใช้กับองค์ประกอบทั้งหมดที่อยู่ในองค์ประกอบ body ด้วยเช่นกัน แต่หากมีกฎเลือกที่เฉพาะกว่านั้นก็จะนำมาเอานอกเป็นต้นไป
ลำดับฟอนต์ที่กำหนด
นอกจากการใช้ลำดับฟอนต์ทั่วไป คุณยังสามารถกำหนดฟอนต์ที่เฉพาะกว่าด้วยคุณสมบัติ font-family
ตัวอย่างด้านล่างนี้จัดตั้งฟอนต์ Georgia สำหรับองค์ประกอบ h1 ทั้งหมด:
h1 {font-family: Georgia;}
กฎนี้จะก่อให้เกิดปัญหาอื่นด้วย ถ้าสำนักงานต่างประเทศไม่มีฟอนต์ Georgia แล้ว ก็จะต้องใช้ฟอนต์ปริมาณเริ่มต้นของสำนักงานต่างประเทศเพื่อแสดงองค์ประกอบ h1
เราสามารถแก้ปัญหานี้ด้วยการรวมตัวอักษรที่มีชื่อฟอนต์เฉพาะกับลำดับฟอนต์ทั่วไปเพื่อแก้ปัญหานี้:
h1 {font-family: Georgia, serif;}
ถ้าผู้อ่านไม่ได้ติดตั้ง Georgia แต่ได้ติดตั้ง Times ฟอนต์ (ฟอนต์ในลำดับ serif ฟอนต์แบบภาษาอังกฤษ) สำนักงานต่างประเทศอาจใช้ Times สำหรับองค์ประกอบ h1 โดยที่ Times แม้จะไม่ตรงกับ Georgia แต่อย่างไรก็ตามมันยังเพียงพอที่จะให้ความใกล้ชิดเพียงพอ
ดังนั้น เราแนะนำให้มีลูกตัวอักษรสากลทั่วไปในกฎ font-family ทุกตัว ซึ่งจะให้มีหลายทางออก เมื่อสำนักงานต่างประเทศไม่สามารถให้กำหนดตัวอักษรที่ตรงกับกฎที่กำหนดไว้ได้ คุณสามารถเลือกตัวอักษรตัวที่มีโอกาสที่ดีที่สุดได้
ถ้าคุณมีความเข้าใจตัวอักษรสีขาวอย่างดี คุณก็สามารถกำหนดลูกตัวอักษรที่คล้ายกันเป็นกลุ่มได้สำหรับองค์ประกอบที่กำหนดมาแล้ว โดยจะต้องจัดลำดับตัวอักษรดังกล่าวตามความสำคัญและเชื่อมต่อด้วยคำวางหลังค์เป็นต้นไป:
p {font-family: Times, TimesNR, 'New Century Schoolbook',}} Georgia, 'New York', serif;}
ตามรายการนี้ ตัวแทนปฏิบัติการจะค้นหาตัวอักษรตามลำดับที่กำหนด และถ้าตัวอักษรทั้งหมดไม่พบ จะเลือกตัวอักษร serif ที่พบแรก
ใช้ประกาย
คุณอาจจะสังเกตว่าในตัวอย่างด้านบนใช้ประกายเปลี่ยน และเมื่อชื่อตัวอักษรมีช่องว่าง (เช่น New York) หรือเมื่อชื่อตัวอักษรประกอบด้วยสัญลักษณ์เช่น # หรือ $ ต้องใช้ประกายในการประกาศ font-family
ใช้ประกายเปลี่ยนหรือประกายซ้อนก็ได้ แต่ถ้าจะใส่ค่า font-family ใน attribute style ของ HTML ต้องใช้ประกายที่ไม่ถูกใช้ในค่า attribute ดังกล่าว
<p style="font-family: Times, TimesNR, 'New Century Schoolbook', Georgia, 'New York', serif;">...</p>
font-style 属性
font-style 属性ใช้บ่อยที่สุดเพื่อกำหนดข้อความitalic
นี่คือค่าสามค่า
- normal - แสดงข้อความในสไตล์ตั้งตรง
- italic - แสดงข้อความในสไตล์italic
- oblique - แสดงข้อความที่เลื่อนขึ้นออกไป
實例
p.normal {font-style:normal;} p.italic {font-style:italic;} p.oblique {font-style:oblique;}
ความแตกต่างของ italic และ oblique
font-style มีความเรียบง่ายมาก: ใช้เลือกข้อความทั่วไป italic และ oblique ของข้อความ สิ่งที่หนักแน่นขึ้นเพียงแค่เพื่อแยกข้อความ italic และ oblique อย่างชัดเจน
italic คือสไตล์ของตัวอักษรที่เรียบง่าย ที่มีการเปลี่ยนแปลงขนาดของตัวอักษรเล็กๆ บางตัวเพื่อแสดงที่มีการเปลี่ยนแปลงรูปร่าง ขณะที่ oblique ของข้อความเป็นสัญลักษณ์ของข้อความตั้งตรงที่มีการเลื่อนขึ้นออกไป
ในสถานการณ์ทั่วไป italic และ oblique ของข้อความมองเห็นในเว็บเบราเซอร์เป็นหนึ่งอย่าง
font-style 属性
font-variant 属性สามารถกำหนดข้อความใหญ่เล็กได้
ข้อความใหญ่เล็กไม่ใช่ใหญ่ของตัวอักษรทั่วไป และไม่ใช่ตัวอักษรเล็ก ตัวอักษรนี้ใช้ตัวอักษรใหญ่ขนาดต่างกัน
實例
p {font-variant:small-caps;}
เข้มของตัวอักษร
font-weight โปรพริตีตั้งความเข้มของข้อความ
ใช้คำว่า bold ในการตั้งขนาดของตัวอักษรเป็นแบบหนัก
คำว่า 100 ถึง 900 กำหนดระดับเข้มของตัวอักษร 9 ระดับ ถ้าตัวอักษรมีระดับเข้มของตัวอักษรที่กำหนดล่วงหน้า ตัวเลขเหล่านี้จะตรงกันกับระดับที่กำหนดล่วงหน้า 100 ตรงกันกับระดับที่แบบเรียบร้อยที่สุด 900 ตรงกันกับระดับที่แบบเรียบร้อยที่หนักที่สุด ตัวเลข 400 ยอดเท่ากับ normal และ 700 ยอดเท่ากับ bold
ถ้ากำหนดความเข้มขององค์ประกอบเป็น bolder ตามที่สืบทอดมา บราวเซอร์จะตั้งความเข้มของตัวอักษรในระดับที่เหนือของค่าที่สืบทอดมา ในที่ตรงกันข้าม คำว่า lighter จะทำให้ความเข้มของตัวอักษรลดลงแทนที่จะเพิ่มขึ้น
實例
p.normal {font-weight:normal;} p.thick {font-weight:bold;} p.thicker {font-weight:900;}
ขนาดตัวอักษร
font-size โปรพริตีตั้งขนาดของข้อความ
การสามารถจัดการขนาดของข้อความมีความสำคัญในด้านการออกแบบเว็บ แต่คุณไม่ควรปรับขนาดของข้อความเพื่อที่จะทำให้ย่อหน้าดูเหมือนหัวเรื่อง หรือทำให้หัวเรื่องดูเหมือนย่อหน้า
เป็นที่สำคัญที่คุณจะต้องใช้ HTML หัวเรื่องที่ถูกต้อง อย่างเช่นใช้ <h1> - <h6> สำหรับหัวเรื่อง และใช้ <p> สำหรับย่อหน้า
ค่า font-size สามารถเป็นขนาดแบบอิสระหรือขนาดเปอร์เซ็นต์
ขนาดแบบอิสระ
- ตั้งขนาดของข้อความเป็นขนาดที่กำหนด
- ไม่อนุญาตให้ผู้ใช้ปรับขนาดของข้อความในเว็บเบราว์เซอร์ทุกตัว (ไม่เป็นประโยชน์ต่อความสะดวกในการใช้งาน)
- ขนาดแบบอิสระมีประโยชน์มากเมื่อเรียกใช้ขนาดทางฟิสิกส์ของการออกแบบ
ขนาดเปอร์เซ็นต์
- ตั้งขนาดของข้อความเป็นเปอร์เซ็นต์ต่อองค์ประกอบรอบๆ
- อนุญาตให้ผู้ใช้ปรับขนาดของข้อความในเว็บเบราว์เซอร์
จำเป็นต้องระวังถ้าคุณไม่ได้กำหนดขนาดของตัวอักษร ข้อความปกติ (เช่น ย่อหน้า) จะมีขนาดเริ่มต้นที่ 16 พิกเซล (16px = 1em)
ใช้พิกเซลในการตั้งขนาดของตัวอักษร
การตั้งขนาดของข้อความด้วยพิกเซลสามารถควบคุมขนาดของข้อความได้อย่างเต็มที่
實例
h1 {font-size:60px;} h2 {font-size:40px;} p {font-size:14px;}
ใน Firefox, Chrome และ Safari สามารถปรับขนาดของข้อความในตัวอย่างที่กล่าวข้างต้นได้ แต่ใน Internet Explorer ไม่สามารถปรับได้
ถึงแม้จะสามารถปรับขนาดของข้อความด้วยเครื่องมือการขยายในเว็บเบราว์เซอร์ แต่นี่เป็นการปรับขนาดของหน้าเว็บทั้งหมด ไม่ได้จำกัดเพียงโดยเฉพาะข้อความ
ใช้ em ในการตั้งขนาดของตัวอักษร
ถ้าต้องการป้องกันปัญหาที่ไม่สามารถปรับขนาดของข้อความใน Internet Explorer ได้ ผู้พัฒนาหลายคนใช้หน่วยเมตรเอมเพื่อแทนที่จุดจุดขนาดพิกเซล
W3C 推薦使用 em 尺寸單位。
1em 等於當前的字體尺寸。如果一个元素的 font-size 為 16 像素,那麼對於該元素,1em 就等於 16 像素。在設定字體大小时,em 的值會相對於父元素的字體大小改變。
瀏覽器中默認的文本大小是 16 像素。因此 1em 的默認尺寸是 16 像素。
可以使用以下這個公式將像素轉換為 em:pixels/16=em
(註:16 等於父元素的默認字體大小,假設父元素的 font-size 為 20px,那麼公式需改為:pixels/20=em)
實例
h1 {font-size:3.75em;} /* 60px/16=3.75em */ h2 {font-size:2.5em;} /* 40px/16=2.5em */ p {font-size:0.875em;} /* 14px/16=0.875em */
在上面的例子中,以 em 為單位的文本大小與前一個例子中以像素計的文本是相同的。不過,如果使用 em 單位,則可以在所有瀏覽器中調整文本大小。
不幸的是,在 IE 中仍然存在問題。在重設文本大小时,會比正常的尺寸更大或更小。
結合使用百分比和 EM
在所有瀏覽器中均有效的方案是為 body 元素(父元素)以百分比設定默認的 font-size 值:
實例
body {font-size:100%;} h1 {font-size:3.75em;} h2 {font-size:2.5em;} p {font-size:0.875em;}
我們的代碼非常有效。在所有瀏覽器中,可以顯示相同的文本大小,並允許所有瀏覽器縮放文本的大小。
CSS 字體實例:
CSS 字體屬性
屬性 | 描述 |
---|---|
font | 属性簡寫。作用是將所有針對字體的屬性設定在一個聲明中。 |
font-family | ตั้งลำดับฟอนต์ |
font-size | ตั้งขนาดฟอนต์ |
font-size-adjust | ปรับขนาดฟอนต์ที่ใช้แทนอัตโนมัติเมื่อฟอนต์ที่เลือกไม่สามารถใช้งานได้ (CSS2.1 ได้ลบคุณสมบัตินี้ไปแล้ว) |
font-stretch | ขยายฟอนต์ตามทิศทางน้ำเนียน (CSS2.1 ได้ลบคุณสมบัตินี้ไปแล้ว) |
font-style | ตั้งรูปแบบฟอนต์ |
font-variant | แสดงข้อความด้วยฟอนต์ขนาดเล็กหรือฟอนต์ปกติ |
font-weight | ตั้งความหนาแน่นของฟอนต์ |
- หน้าก่อน CSS ข้อความ
- หน้าต่อไป CSS รายการ