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

วิธีสร้าง Navigation Links เส้นใต้ (Bottom Border/Underline) ด้วย CSS

เทคนิคการทำ Underline Effect บน Navigation Links เมื่อ Hover หรือ Active ใช้ border-bottom แทน text-decoration เพื่อควบคุมระยะห่างและสไตล์ได้ดีกว่า

ตัวอย่างโค้ด

<!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; } .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> <a class="links selected" href="#"> Home</a> <a class="links" href="#"> Login</a> <a class="links" href="#">Register</a> <a class="links" href="#">Contact Us</a> <a class="links" href="#">More Info</a> </nav> <h1>Hover on the above links</h1> </body> </html>

ทำไมใช้ border-bottom?

  • ควบคุม ระยะห่าง ระหว่างข้อความและเส้นได้ (ผ่าน padding)
  • ควบคุม ความหนา สี สไตล์ (solid, dashed, dotted) ได้อิสระ
  • ไม่กระทบ line-height หรือการจัดบรรทัดข้อความ
  • ทำ Animation transition ได้สวยงาม

เพิ่ม Animation

.links {
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s;
}
.links:hover { border-color: purple; }

ผลลัพธ์

เมนูสีเหลืองอ่อน Hover/Active แสดงเส้นใต้สีม่วงหนา 2px สลมلسmooth