คอร์ส IT พื้นฐาน CSS 021_ประเภทค่า หน่วย ขนาด สี
ประเภทตัวเลข
ใน CSS มีการใช้ค่าตัวเลขต่างๆ ในคุณสมบัติที่แตกต่างกัน ประเภทตัวเลขทั่วไป:
- สตริง: ข้อความในเครื่องหมายคำพูดเดี่ยวหรือคู่
- ตัวเลข: จำนวนเต็มหรือทศนิยม เช่น 1024, -100, 0.255
- หน่วย: ประเภทตัวเลขที่มีหน่วย เช่น 45deg, 5s หรือ 10px
- เปอร์เซ็นต์: ประเภทตัวเลขเปอร์เซ็นต์ เช่น
50% - ค่าสี: เลขฐานสิบหก, RGB, RGBA, HSL, HSLA เป็นต้น
- คีย์เวิร์ด: คำที่มีความหมายเฉพาะ เช่น auto, initial, inherit เป็นต้น
หน่วย
หน่วยใน CSS ใช้แทนค่าของคุณสมบัติ เช่น ความยาว มุม เวลา ความถี่ เป็นต้น
หน่วยความยาว:
หน่วยความยาวสัมพัทธ์:
em: สัมพัทธ์กับขนาดฟอนต์ขององค์ประกอบแม่ 1.5em = 1.5 เท่าของขนาดฟอนต์แม่rem: สัมพัทธ์กับขนาดฟอนต์ขององค์ประกอบราก (html) 1rem = ขนาดฟอนต์รากex: สัมพัทธ์กับความสูงของตัวอักษรพิมพ์เล็ก “x”
ตัวอย่าง:
.example { font-size: 16px; padding: 1.5em; margin: 2rem; height: 2ex;}หน่วยความยาวสัมบูรณ์:
px: พิกเซล หน่วยพื้นฐานและใช้มากที่สุดใน CSSin: นิ้ว, 1 นิ้ว = 96 พิกเซลcm: เซนติเมตรmm: มิลลิเมตรpt: พอยต์, 1pt = 1/72 นิ้วpc: ไพกา, 1pc = 12pt = 16 พิกเซล
ตัวอย่าง:
.example { width: 200px; height: 2in; margin: 1cm; font-size: 12pt;}หน่วยเปอร์เซ็นต์สัมพัทธ์:
%: เปอร์เซ็นต์สัมพัทธ์กับองค์ประกอบแม่
ตัวอย่าง:
.example { width: 50%; padding: 10%;}หน่วย viewport:
vw: 1vw = 1% ของความกว้าง viewportvh: 1vh = 1% ของความสูง viewportvmin: ค่าที่น้อยกว่าระหว่าง vw และ vhvmax: ค่าที่มากกว่าระหว่าง vw และ vh
ตัวอย่าง:
.example { width: 50vw; height: 30vh;}หน่วยมุม:
deg (องศา):
degเป็นหน่วยมุมที่ใช้บ่อยที่สุด วงกลมเต็ม = 360 องศา
ตัวอย่าง:
.example { transform: rotate(45deg); background: linear-gradient(45deg, red, yellow);}rad (เรเดียน):
radวงกลมเต็ม = 2π เรเดียน
ตัวอย่าง:
.example { transform: rotate(1rad);}grad (เกรเดียน):
gradวงกลมเต็ม = 400 เกรเดียน
.example { transform: rotate(50grad);}turn (รอบ):
turnแทนหนึ่งรอบเต็ม = 360 องศา
.example { transform: rotate(0.5turn);}หน่วยเวลา:
s (วินาที)
sเป็นหน่วยวินาที
ตัวอย่าง:
.base{ width: 200px; height: 200px; background-color: #3498db;}.base:hover{ background-color: #e74c3c;}.example{ transition: background-color 1s ease;}ms (มิลลิวินาที)
ms1 วินาที = 1000 มิลลิวินาที
ตัวอย่าง:
.base{ width: 200px; height: 200px; background-color: #3498db;}.base:hover{ background-color: #e74c3c;}
.example{ transition: background-color 2000ms ease;}หน่วยความถี่:
Hz (เฮิรตซ์)
- เฮิรตซ์เป็นหน่วยความถี่ที่ใช้บ่อยที่สุด
ตัวอย่าง:
.example { animation: shake 1s infinite;}kHz (กิโลเฮิรตซ์)
- 1 kHz = 1000 Hz
ตัวอย่าง:
.example { audio { frequency: 5kHz; }}หน่วยความละเอียด:
dpi (จุดต่อนิ้ว)
dpiแทนจุดต่อนิ้ว
ตัวอย่าง:
.example { background-image: url('image.png'); background-size: 300px 200px; background-resolution: 300dpi;}dppx (จุดต่อพิกเซล)
dppxแทนจุดต่อพิกเซลบนหน้าจอ
ตัวอย่าง:
.example { background-image: url('image.png'); background-size: 300px 200px; background-resolution: 2dppx;}dpcm (จุดต่อเซนติเมตร)
dpcmแทนจุดต่อเซนติเมตร
ตัวอย่าง:
.example { background-image: url('image.png'); background-size: 2dpcm 3dpcm;}ขนาด
ขนาดใน CSS ควบคุมมิติขององค์ประกอบ
คุณสมบัติ width และ height
กำหนดความกว้างและความสูงขององค์ประกอบ
ตัวอย่าง:
.example { width: 300px; height: 200px;}คุณสมบัติ max-width และ max-height
กำหนดความกว้างและความสูงสูงสุด
ตัวอย่าง:
.example { max-width: 100%; max-height: 500px;}คุณสมบัติ min-width และ min-height:
ตัวอย่าง:
.example { min-width: 200px; min-height: 100px;}สี
สีคีย์เวิร์ด
สีที่แทนด้วยคีย์เวิร์ด: red (แดง), blue (น้ำเงิน), green (เขียว) เป็นต้น
ตัวอย่าง:
.example { color: red; background-color: blue;}สีเลขฐานสิบหก
สี RGB ในเลขฐานสิบหก 6 หรือ 3 หลัก รูปแบบ #RRGGBB หรือ #RGB
ตัวอย่าง:
.example { color: #ff0000; background-color: #00f;}สี RGB, RGBA
rgb() รับสามพารามิเตอร์ (0-255) rgba() เพิ่มพารามิเตอร์ความโปร่งใส (0-1)
ตัวอย่าง:
.example1 { color: rgb(255, 0, 0); background-color: rgb(0, 0, 255);}
.example2 { color: rgba(255, 0, 0, 0.5); background-color: rgba(0, 0, 255, 0.7);}สี HSL, HSLA
hsl() รับค่าเฉดสี (0-360), ความอิ่มตัว (0%-100%) และความสว่าง (0%-100%) hsla() เพิ่มความโปร่งใส (0-1)
ตัวอย่าง:
.example1 { color: hsl(0, 100%, 50%); background-color: hsl(240, 100%, 50%);}
.example2 { color: hsla(0, 100%, 50%, 0.5); background-color: hsla(240, 100%, 50%, 0.7);}