ทั้ง CSS Absolute Units และ Relative Units อยู่ภายใต้หมวดหมู่ หน่วย Distance.
CSS Relative Units กำหนดความยาวขององค์ประกอบโดยอ้างอิงถึงองค์ประกอบอื่น
ตัวอย่างเช่น vh หน่วยสัมพันธ์สัมพันธ์กับความสูงของวิวพอร์ต
ต่อไปนี้เป็นหน่วยสัมพันธ์ CSS -
Sr.No | หน่วย &เทียบกับ |
---|---|
1 | % ขนาดองค์ประกอบหลัก |
2 | em ขนาดตัวอักษรขององค์ประกอบ |
3 | อดีต ความสูง x ของแบบอักษรขององค์ประกอบ |
4 | ลช ความสูงของเส้นขององค์ประกอบ |
5 | rem ขนาดตัวอักษรขององค์ประกอบรูท |
6 | rlh ความสูงของเส้นขององค์ประกอบราก |
7 | vb 1% ของขนาดวิวพอร์ตในแกนบล็อกขององค์ประกอบรูท |
8 | vh 1% ของความสูงของวิวพอร์ต |
9 | vmax 1% ของขนาดวิวพอร์ตที่ใหญ่ขึ้น |
10 | vmin 1% ของขนาดที่เล็กกว่าของวิวพอร์ต |
11 | vw 1% ของความกว้างของวิวพอร์ต |
ตัวอย่าง
ให้เราดูตัวอย่างสำหรับหน่วยสัมพันธ์ CSS -
<!DOCTYPE html> <html> <head> <title>CSS Relative Units</title> <style> html{ font-size: 14px; line-height: normal; } form { width:70%; margin: 0 auto; text-align: center; } * { padding: 2px; margin:5px; } input[type="button"] { border-radius: 10px; } #textContain { font-size: 20px; line-height: 2; } </style> </head> <body> <form> <fieldset> <legend>CSS-Relative-Units</legend> <input type="text" id="textSelect" placeholder="Type Text Here..."> <input type="number" id="numSelect" value="1" min="1"> <div id="radioBut"> <input class="radio" type="radio" name="heading" value="em" checked><label>em</label> <input class="radio" type="radio" name="heading" value="rem"><label>rem</label> <input class="radio" type="radio" name="heading" value="vw"><label>vw</label> <input class="radio" type="radio" name="heading" value="vh"><label>lh</label> <input class="radio" type="radio" name="heading" value="ex"><label>ex</label> </div> <div id="textContain">Text Preview: <span id="textPreview">Output will show up here</span></div> <input type="button" onclick="changeText()" value="Preview"> </fieldset> </form> <script> var textSelect = document.getElementById("textSelect"); var numSelect = document.getElementById("numSelect"); var textPreview = document.getElementById("textPreview"); function changeText() { if(textSelect.value === '') textPreview.textContent = 'Type some text first'; else{ for(var i=0; i<5; i++){ var radInp = document.getElementsByClassName('radio')[i]; if(radInp.checked === true){ textPreview.textContent = textSelect.value; textPreview.style.fontSize = numSelect.value+radInp.value } } } } </script> </body> </html>
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์สำหรับโค้ดด้านบน -
ก่อนคลิกปุ่มใด ๆ −
หลังจากคลิกปุ่ม "ดูตัวอย่าง" โดยเลือกตัวเลือก "em" และช่องข้อความว่าง -
หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'rem' และช่องข้อความที่ไม่ว่างเปล่า -
หลังจากคลิกปุ่ม "ดูตัวอย่าง" โดยเลือกตัวเลือก "em" และช่องข้อความที่ไม่ว่างเปล่า -
ต่อไปนี้เป็นหน่วยสัมบูรณ์ CSS -
Sr.No | หน่วย &ชื่อ |
---|---|
1 | ซม. เซนติเมตร (1 ซม. =100 มม.) |
2 | ใน นิ้ว (1 นิ้ว =2.54 ซม.) |
3 | มม มิลลิเมตร |
4 | ชิ้น Picas (1 ชิ้น =12 pt) |
5 | pt คะแนน (1 pt =1/72 นิ้ว) |
6 | px พิกเซล (1 พิกเซล =0.75 พอยต์) |
ตัวอย่าง
ให้เราดูตัวอย่างสำหรับหน่วยสัมบูรณ์ CSS -
<!DOCTYPE html> <html> <head> <title>CSS Absolute Units</title> <style> form { width:70%; margin: 0 auto; text-align: center; } * { padding: 2px; margin:5px; } input[type="button"] { border-radius: 10px; } </style> </head> <body> <form> <fieldset> <legend>CSS-Absolute-Units</legend> <input type="text" id="textSelect" placeholder="Type Text Here..."> <input type="number" id="numSelect" value="10" min="1"> <div id="radioBut"> <input class="radio" type="radio" name="heading" value="pc"><label>pc</label> <input class="radio" type="radio" name="heading" value="pt"><label>pt</label> <input class="radio" type="radio" name="heading" value="px" checked><label>px</label> <input class="radio" type="radio" name="heading" value="in"><label>in</label> <input class="radio" type="radio" name="heading" value="cm"><label>cm</label> </div> <div id="textContain">Text Preview: <span id="textPreview">Output will show up here</span></div> <input type="button" onclick="changeText()" value="Preview"> </fieldset> </form> <script> var textSelect = document.getElementById("textSelect"); var numSelect = document.getElementById("numSelect"); var textPreview = document.getElementById("textPreview"); function changeText() { if(textSelect.value === '') textPreview.textContent = 'Type some text first'; else{ for(var i=0; i<5; i++){ var radInp = document.getElementsByClassName('radio')[i]; if(radInp.checked === true){ textPreview.textContent = textSelect.value; textPreview.style.fontSize = numSelect.value+radInp.value } } } } </script> </body> </html>
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์สำหรับโค้ดด้านบน -
ก่อนคลิกปุ่มใด ๆ −
หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'px' และช่องข้อความที่ไม่ว่างเปล่า -
หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'pt' และช่องข้อความที่ไม่ว่างเปล่า -
หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'พีซี' และช่องข้อความที่ไม่ว่างเปล่า -