คุณสมบัติ borderRadius ใน HTML DOM Style ใช้สำหรับกำหนดหรือดึงค่าความโค้งของมุมทั้ง 4 มุมขององค์ประกอบ สามารถควบคุมมุมแต่ละมุมได้แยกกันผ่าน borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius
ไวยากรณ์ (Syntax)
การกำหนดค่า (Setting)
object.style.borderRadius = "1-4 length|% / 1-4 length|%|initial|inherit"
ค่าที่รองรับ
| ค่า | คำอธิบาย |
|---|---|
| length | ระบุรูปร่างขอบด้วยหน่วยความยาว (px, em, rem ฯลฯ) |
| % | ระบุรูปร่างขอบเป็นเปอร์เซ็นต์ของขนาดองค์ประกอบ |
| initial | ตั้งค่ากลับเป็นค่าเริ่มต้น (0) |
| inherit | สืบทอดค่าจากองค์ประกอบพาเรนต์ |
รูปแบบการระบุค่า (Value Syntax)
| รูปแบบ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| 1 ค่า | มุมทั้ง 4 มุมเท่ากัน | 10px |
| 2 ค่า | มุมบนซ้าย/ล่างขวา = ค่าแรก, มุมบนขวา/ล่างซ้าย = ค่าที่สอง | 10px 20px |
| 3 ค่า | มุมบนซ้าย, มุมบนขวา/ล่างซ้าย, มุมล่างขวา | 10px 20px 30px |
| 4 ค่า | มุมบนซ้าย, บนขวา, ล่างขวา, ล่างซ้าย (ตามเข็มนาฬิกา) | 10px 20px 30px 40px |
| ใช้ / | แยกค่ารัศมีแนวนอน / แนวตั้ง (Elliptical corners) | 10px / 20px |
ตัวอย่างการใช้งาน
<!DOCTYPE html>
<html>
<head>
<style>
#DIV1 {
height: 100px;
width: 200px;
border: 10px groove orange;
padding: 10px;
border-radius: 1px;
}
</style>
<script>
function changeBorderRadius() {
document.getElementById("DIV1").style.borderRadius = "45px";
document.getElementById("Sample").innerHTML = "รัศมีมุมของ div ทั้ง 4 มุมถูกเพิ่มเป็น 45px แล้ว";
}
</script>
</head>
<body>
<div id="DIV1">ข้อความตัวอย่าง</div>
<p>คลิกปุ่มด้านล่างเพื่อเพิ่มขนาด border radius ของ div ด้านบน</p>
<button onclick="changeBorderRadius()">เปลี่ยน Border Radius</button>
<p id="Sample"></p>
</body>
</html>
ผลลัพธ์
ก่อนคลิก: มุมมีความโค้งน้อย (1px)
หลังคลิก: มุมกลายเป็นวงกลมกลมเต็มที่ (45px)
เคล็ดลับและการใช้งานทั่วไป
- วงกลมสมบูรณ์:
border-radius: 50%พร้อม width = height - แคปซูล (Pill shape):
border-radius: 50px(หรือค่าครึ่งหนึ่งของความสูง) - มุมเฉพาะบางมุม: ใช้
border-top-left-radiusฯลฯ - รูปทรงไข่ (Elliptical):
border-radius: 50px / 25px
การรองรับเบราว์เซอร์
รองรับในทุกเบราว์เซอร์สมัยใหม่ (IE9+)