ใช้ CSS Flexbox สร้าง Navigation Bar แบบแยกกลุ่มลิงก์ ซ้ายและขวา เรียบร้อย ทันสมัย และ Responsive ได้ง่าย
ตัวอย่างโค้ด
<!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{ display: flex; position: fixed; top:0; width: 100%; background-color: rgb(251, 255, 196); overflow: auto; height: auto; } .left-links{ flex:1 1 200px; } .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 selected" href="#">Home</a> <a class="links" href="#"> Login</a> <a class="links" href="#"> Register</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>
คำอธิบาย Flexbox
- nav { display: flex; } - เปิดใช้ Flexbox
- .left-links { flex: 1 1 200px; } - ขยายเต็มพื้นที่ต่ำสุด 200px
- .right-links - ไม่มี flex-grow จะอยู่ขวาสุดตามลำดับ
- ลิงก์ใน .left-links เรียงซ้าย, .right-links เรียงขวาอัตโนมัติ
ขยายเป็น Responsive
@media (max-width: 768px) {
nav { flex-direction: column; }
.left-links, .right-links { width: 100%; text-align: center; }
}
ผลลัพธ์
เมนูสีเหลืองอ่อน กลุ่มซ้าย (Home, Login, Register) กลุ่มขวา (Contact Us, More Info)Hover เส้นใต้สีม่วง