Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> CSS

วิธีสร้างเมนูนำทาง Responsive พร้อมไอคอนด้วย CSS

บทความนี้สอนการสร้าง 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): เมนูเปลี่ยนเป็นแนวตั้ง แต่ละรายการเต็มความกว้าง