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

วิธีสร้าง Navigation Bar พร้อมโลโก้/ลิงก์กึ่งกลาง (Centered) ด้วย CSS

เทคนิคการจัดวาง 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 แสดงเส้นใต้สีม่วง