Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> CSS

CSS หน่วยสัมบูรณ์และสัมพัทธ์


ทั้ง 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>

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์สำหรับโค้ดด้านบน -

ก่อนคลิกปุ่มใด ๆ −

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม "ดูตัวอย่าง" โดยเลือกตัวเลือก "em" และช่องข้อความว่าง -

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'rem' และช่องข้อความที่ไม่ว่างเปล่า -

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม "ดูตัวอย่าง" โดยเลือกตัวเลือก "em" และช่องข้อความที่ไม่ว่างเปล่า -

CSS หน่วยสัมบูรณ์และสัมพัทธ์

ต่อไปนี้เป็นหน่วยสัมบูรณ์ 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>

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์สำหรับโค้ดด้านบน -

ก่อนคลิกปุ่มใด ๆ −

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'px' และช่องข้อความที่ไม่ว่างเปล่า -

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'pt' และช่องข้อความที่ไม่ว่างเปล่า -

CSS หน่วยสัมบูรณ์และสัมพัทธ์

หลังจากคลิกปุ่ม 'ดูตัวอย่าง' โดยเลือกตัวเลือก 'พีซี' และช่องข้อความที่ไม่ว่างเปล่า -

CSS หน่วยสัมบูรณ์และสัมพัทธ์