font-size
คุณสมบัติกำหนดขนาดของข้อความ
ความสามารถในการจัดการขนาดตัวอักษรเป็นสิ่งสำคัญในการออกแบบเว็บไซต์ อย่างไรก็ตามคุณ ไม่ควรใช้การปรับขนาดตัวอักษรเพื่อทำให้ย่อหน้ามีลักษณะเป็นส่วนหัวหรือ ส่วนหัวมีลักษณะเหมือนย่อหน้า
ใช้แท็ก HTML ที่เหมาะสมเสมอ เช่น <h1> - <h6> สำหรับส่วนหัวและ <p> สำหรับ ย่อหน้า
ค่าขนาดตัวอักษรสามารถเป็นได้ ขนาดสัมบูรณ์หรือขนาดสัมพัทธ์
ขนาดสัมบูรณ์:
ตั้งค่าข้อความให้มีขนาดที่ระบุ
ไม่อนุญาตให้ผู้ใช้เปลี่ยนขนาดข้อความในทุกเบราว์เซอร์ (ไม่ดีด้วยเหตุผลด้านการเข้าถึง)
ขนาดสัมบูรณ์มีประโยชน์เมื่อทราบขนาดทางกายภาพของเอาต์พุต
ขนาดสัมพัทธ์:
ตั้งค่าขนาดที่สัมพันธ์กับองค์ประกอบโดยรอบ
อนุญาตให้ผู้ใช้เปลี่ยนขนาดข้อความในเบราว์เซอร์
หมายเหตุ: หากคุณไม่ระบุขนาดตัวอักษร ขนาดเริ่มต้นสำหรับข้อความปกติ เช่น ย่อหน้า คือ 16px (16px=1em)
การตั้งค่าขนาดข้อความด้วยพิกเซลช่วยให้คุณควบคุมขนาดข้อความได้เต็มรูปแบบ:
h1 {
font-size: 40px;
}
h2 {
font-size: 30px;
}
p {
font-size: 14px;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
h1 {
font-size: 40px;
}
h2 {
font-size: 30px;
}
p {
font-size: 14px;
}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
</body>
</html>
เคล็ดลับ: หากคุณใช้พิกเซล คุณยังคงสามารถใช้เครื่องมือซูมเพื่อปรับขนาดทั้งหน้าได้
เพื่อให้ผู้ใช้สามารถปรับขนาดข้อความ (ในเมนูเบราว์เซอร์) ได้มากมาย นักพัฒนาใช้ em แทนพิกเซล
1em เท่ากับขนาดตัวอักษรปัจจุบัน ขนาดตัวอักษรเริ่มต้นในเบราว์เซอร์คือ 16px. ดังนั้นขนาดเริ่มต้นของ 1em คือ 16px
ขนาดสามารถคำนวณได้จากพิกเซลถึง em โดยใช้สูตรนี้: <i>pixels/16=<i>em
h1 {
font-size: 2.5em; /* 40px/16=2.5em */
}
h2 {
font-size: 1.875em; /* 30px/16=1.875em */
}
p {
font-size: 0.875em; /* 14px/16=0.875em */
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
h1 {
font-size: 2.5em; /* 40px/16=2.5em */
}
h2 {
font-size: 1.875em; /* 30px/16=1.875em */
}
p {
font-size: 0.875em; /* 14px/16=0.875em */
}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>Specifying the font-size in em allows all major browsers to resize the text.
Unfortunately, there is still a problem with older versions of IE. When resizing the text, it becomes larger/smaller than it should.</p>
</body>
</html>
ในตัวอย่างข้างต้น ขนาดข้อความใน em จะเหมือนกับตัวอย่างก่อนหน้า เป็นพิกเซล อย่างไรก็ตาม ด้วยขนาด em คุณสามารถปรับขนาดข้อความได้ ในทุกเบราว์เซอร์
น่าเสียดายที่ยังคงมีปัญหากับเวอร์ชันเก่าอยู่ ของอินเตอร์เน็ตเอ็กซ์พลอเรอร์ ข้อความมีขนาดใหญ่กว่าที่ควรจะเป็น เมื่อทำให้ใหญ่ขึ้น และเล็กลงกว่าที่ควรเมื่อทำให้เล็กลง
วิธีแก้ปัญหาที่ใช้ได้กับทุกเบราว์เซอร์คือการตั้งค่าขนาดตัวอักษรเริ่มต้น เปอร์เซ็นต์สำหรับองค์ประกอบ <body>:
body {
font-size: 100%;
}
h1 {
font-size: 2.5em;
}
h2 {
font-size: 1.875em;
}
p {
font-size: 0.875em;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-size: 100%;
}
h1 {
font-size: 2.5em;
}
h2 {
font-size: 1.875em;
}
p {
font-size: 0.875em;
}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>Specifying the font-size in percent and em displays the same size in all major browsers, and allows all browsers to resize the text!</p>
</body>
</html>
รหัสของเราใช้งานได้ดีตอนนี้! มันแสดงขนาดตัวอักษรเดียวกันใน เบราว์เซอร์ทั้งหมด และอนุญาตให้เบราว์เซอร์ทั้งหมดซูมหรือปรับขนาดข้อความ!
ขนาดข้อความสามารถตั้งค่าได้ด้วยหน่วย vw
ซึ่งหมายถึง "ความกว้างของวิวพอร์ต"
ด้วยวิธีนี้ขนาดข้อความจะเป็นไปตามขนาดของหน้าต่างเบราว์เซอร์:
Resize the browser window to see how the font size scales.
<h1 style="font-size:10vw">Hello World</h1>
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<body>
<h1 style="font-size:10vw;">Responsive Text</h1>
<p style="font-size:5vw;">Resize the browser window to see how the text size scales.</p>
<p style="font-size:5vw;">Use the "vw" unit when sizing the text. 10vw will set the size to 10% of the viewport width.</p>
<p>Viewport is the browser window size. 1vw = 1% of viewport width. If the viewport is 50cm wide, 1vw is 0.5cm.</p>
</body>
</html>
Viewport คือขนาดหน้าต่างเบราว์เซอร์ 1vw=1% ของความกว้างวิวพอร์ต หากวิวพอร์ตกว้าง 50 ซม. 1vw จะเท่ากับ 0.5 ซม.