เทคนิคการจัดวาง Navigation Bar แบบ 3 ส่วน: ซ้าย - กลาง - ขวา โดยใช้ position: absolute วางตำแหน่งแต่ละกลุ่ม
ตัวอย่างโค้ด
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> body{ margin:0px; margin-top:60px; padding: 0px; } nav{ position: fixed; top:0; width: 100%; background-color: rgb(251, 255, 196); overflow: auto; height: auto; } .left-links{ display: inline-block; position: absolute; left: 0; } .right-links{ display: inline-block; position: absolute; right: 0; } .center-links{ display: inline-block; margin-left: 50%; } .links { display: inline-block; text-align: center; padding: 14px; color: rgb(0, 0, 0); text-decoration: none; font-size: 17px; font-weight: bolder; } .links:hover { border-bottom: 2px solid purple; } .selected{ border-bottom: 2px solid purple; } </style> </head> <body> <nav> <div class="left-links"> <a class="links" href="#"> Login</a> <a class="links" href="#"> Register</a> </div> <div class="center-links"> <a class="links selected" href="#"> Home</a> </div> <div class="right-links"> <a class="links" href="#"> Contact Us</a> <a class="links" href="#">More Info</a> </div> </nav> <h1>Hover on the above links</h1> </body> </html>
การจัดวาง 3 ส่วน
- .left-links -
position: absolute; left: 0ชิดซ้าย - .center-links -
margin-left: 50%ดันไปกึ่งกลาง (แต่ไม่ได้จริงถ้ามีหลายรายการ) - .right-links -
position: absolute; right: 0ชิดขวา
วิธีที่ดีกว่า (Flexbox)
nav { display: flex; justify-content: space-between; align-items: center; }
.center-links { margin: 0 auto; }
Flexbox จัดกึ่งกลางได้แม่นยำกว่า และ Responsive ด้วย
ผลลัพธ์
แถบเมนูสีเหลืองอ่อน ลิงก์ซ้าย (Login, Register) กลาง (Home) ขวา (Contact, More Info) Hover แสดงเส้นใต้สีม่วง