การทำกรอบขอบมนด้วย css มีวิธีทำได้หลายวิธีครับ

border-radius ใน css

CSS มีการเพิ่มการทำขอบกล่องให้โค้งมน ก็คือ border-radius ครับ ซึ่งค่าที่ใส่ก็คือรัศมีของความโค้ง ยิ่งใส่ค่ามากเท่าไหร่ ก็จะทำให้กรอบโค้งมากขึ้น
โดยเราจำเป็นต้องใส่ coding ของ browser นั้นก่อนหน้าคำสั่ง css นี้ด้วยเพื่อให้สามารถแสดงหลได้ถูกต้องใน browser นั้นๆด้วย โดย -webkit- เป็นของ Safari และ -moz- เป็นของ Mozilla Firefox

-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;

นอกจากนั้น ยังสามารถกำหนดให้โค้งเฉพาะมุมใดมุมหนึ่งได้ด้วย

สำหรับ -webkit-:

-webkit-border-top-left-radius: 5px;
-webkit-border-top-right-radius: 10px;
-webkit-border-bottom-left-radius: 15px;
-webkit-border-bottom-right-radius: 20px;

สำหรับ -moz-:

-moz-border-radius-topleft: 5px;
-moz-border-radius-topright: 10px;
-moz-border-radius-bottomleft: 15px;
-moz-border-radius-bottomright: 20px;

และยังสามารถใช้คู่กับคำสั่ง css ตัวอื่นได้อีกด้วยครับ เช่น

-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background-color: 000000; width: 200px; height: 200px;

แต่วิธีนี้การแสดงผลจะมีปัญหากับ browser เวอร์ชั่นเก่าๆนะครับ เช่น IE6 Firefox2 เป็นต้นครับ

ใช้กราฟฟิกเข้ามาช่วยในการทำขอบโค้งมน

วิธีนี้จะแสดงผลได้ทุก browser ครับ เพียงแต่มีขอเสียคือ เป็นการจำกัดความกว้างตามขนาดของกราฟฟิกที่ทำมา หากจะปรับความกว้่างต้องไปแก้ที่ตัวกราฟฟิกนั้นโดยตรงครับ

โดยวิธีการทำนั้นจะแยกกราฟฟิกนั้นออกเป็น 3 ส่วน คือ Top Body (สำหรับใส่เนื้อหา) Bottom

.top {background-image: url(images/top); background-repeat: no-repeat; width: xxxpx; height: xxpx;}
.body {background-image: url(images/body); background-repeat: repeat-y; width: xxxpx; height: xxpx;}
.bottom{background-image: url(images/bottom); background-repeat: no-repeat; width: xxxpx; height: xxpx;}

แต่วิธีการนี้จะมีข้อเสียคือ หากเราต้องการเปลี่ยนสีพื้นหลัง หรือ ความกว้าง เราต้องไปแก้ไขที่รูปกราฟฟิกโดยตรงเลยครับ


Tags: , ,

One Response to “มาทำ กรอบขอบมนด้วย css กันครับ”

  1. Sopa says:

    หาวิธีตั้งนาน ทำได้แล้วค่ะ ขอบคุณสำหรับบทความดีๆ นะคะ

Leave a Reply