บทความนี้สอนการสร้าง Navigation Bar ที่ Responsive และมีไอคอนประดับหน้าลิงก์ โดยใช้ Font Awesome และ CSS Media Queries เพื่อปรับรูปแบบบนหน้าจอเล็ก
ตัวอย่างโค้ด
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <style> body{ margin:0px; margin-top:10px; padding: 0px; } nav{ width: 100%; background-color: rgb(39, 39, 39); overflow: auto; height: auto; } .links { display: inline-block; text-align: center; padding: 14px; color: rgb(178, 137, 253); text-decoration: none; font-size: 17px; } .links:hover { background-color: rgb(100, 100, 100); } .selected{ background-color: rgb(0, 18, 43); } @media screen and (max-width: 600px) { .links { display: block; } } </style> </head> <body> <nav> <a class="links selected" href="#"><i class="fa fa-fw fa-home"></i> Home</a> <a class="links" href="#"><i class="fa fa-fw fa-user"></i> Login</a> <a class="links" href="#"><i class="fa fa-user-circle-o" aria-hidden="true"></i> Register</a> <a class="links" href="#"><i class="fa fa-fw fa-envelope"></i> Contact Us</a> <a class="links" href="#"><i class="fa fa-info-circle" aria-hidden="true"></i> More Info</a> </nav> </body> </html>
รายละเอียดการทำงาน
- Font Awesome CDN - ใช้สำหรับไอคอน (fa-home, fa-user, fa-envelope, fa-info-circle)
- display: inline-block - ทำให้ลิงก์เรียงแนวนอนบนเดสก์ท็อป
- @media (max-width: 600px) - บนมือถือ เปลี่ยนเป็น
display: blockเรียงแนวตั้ง - fa-fw - คลาส Fix Width ทำให้ไอคอนกว้างเท่ากัน จัดตำแหน่งสวยงาม
ผลลัพธ์
เดสก์ท็อป: แถบเมนูสีเข้ม แนวนอน พร้อมไอคอนนำหน้าข้อความ
มือถือ (≤600px): เมนูเปลี่ยนเป็นแนวตั้ง แต่ละรายการเต็มความกว้าง