Hotline : 07 088 44444
Thích
Chia sẻ

5 bước tạo menu ngang trong HTML và CSS đơn giản

18/06/2021

Tạo menu ngang trong HTML và CSS

Menu là một trong những yếu tố quan trọng nhất đối với mọi website. Về cơ bản, đó là một tập hợp các liên kết được tùy biến cho phép khách truy cập trang đi từ trang này đến các trang khác. Một số trang web có menu điều hướng ở trên cùng, có trang thì ở bên phải hay bên trái.

tạo menu ngang trong html css
Tạo menu ngang trong HTML và CSS chỉ với 5 bước

Hướng dẫn này sẽ giúp bạn tạo menu ngang trong HTML và CSS với 5 bước đơn giản dưới đây.

Bước 1: Tạo HTML Mark-up

Để bắt đầu việc tạo menu ngang trong HTML, hãy tạo một HTML mark-up bằng một link đi đến style sheet ở ngoài (style.css). Nó cũng sẽ được dùng để tạo kiểu cho menu.

<html>
    <head>
        <title> An  Horizontal Menu  </title>
         <!-- Link to external stylesheet -->
        <link rel="stylesheet" type="text/css" href="style.css" />    
    </head>
    <body>
<div id="menu">
            <!-- A division for the menu -->
        </div>
    </body>
</html>

Bước 2: Viết CSS cho Menu Division

Sau khi tạo xong HTML mark-up, bây giờ ta cần viết code CSS cho Menu Divsion.

#menu
{
 width: 900px;
 border: 1px solid #000;
 height: 100px;
 background-color: #181818;
 font-family: Helvetica, sans-serif;
 font-size: 13px;
 border-radius: 10px;
 -moz-border-radius: 10px;
 -webkit-border-radius: 10px;
}

Trong phần xác định menu, kích thước chiều rộng được đặt là 900px100px chiều cao. Màu nền là màu đen, sáng hơn màu tiêu chuẩn (#000). Phần còn lại là xác định phông chữ, kích thước phông chữ và dùng CSS3 border-radius để tạo menu một đường cong nhỏ.

Bước 3: Thêm item vào menu

Để tạo menu item, chúng ta cần phải sử dụng thẻ danh sách không có thứ tự (unordered tag list). Hãy thêm phần sau vào trong HTML document giữa các menu division tag.

<div id="menu"> <!--Start the unordered list after the opening menu division -->
  <ul>
    <li><a href="#">Trang chủ</a></li>
    <li><a href="#">Dịch vụ</a></li>
    <li><a href="#">Sản phẩm</a></li>
    <li><a href="#">Giới thiệu</a></li>
    <li><a href="#">Liên hệ</a></li>
  </ul>  
</div>

Đối với mỗi tag của item, có một anchor tag () để tạo một liên kết. Tại thời điểm này, mọi thuộc tính href đều trống, do đó ta dùng kí hiệu (#). Để tạo các liên kết thực, hãy xóa kí tự # và nhập URL của trang (Ví dụ: https://vietnix.vn/tai-lieu-ky-thuat).

Bước 4: Tạo kiểu cho danh sách

Sau khi thêm xong code HTML, dù có vẻ ổn nhưng chưa được bắt mắt cho lắm, nhưng chúng ta có thể dùng code CSS menu ngang để thay đổi. Trong bước này, chúng ta sẽ tạo kiểu cho danh sách và các liên kết, giúp menu ngang CSS thêm sống động hơn.

Sau khi tạo một danh sách không có thứ tự, mỗi item đều được hiển thị theo thứ tự từ trên xuống, cùng một vòng tròn mờ xung quanh theo mặc định. Chúng ta đang muốn tạo menu ngang trong HTML chứ không phải menu dọc, do đó ta cần thay đổi bố cục mặc định này. Đồng thời cũng cần xóa các bullet đầu dòng khỏi danh sách.

Dùng lệnh sau để tạo menu ngang bằng CSS:

#menu ul
{
  margin-top:  42px;
}
#menu ul li
{
  list-style-type: none;
  display: inline;
  margin-left: 50px;
}

#menu ul

Phần margin-top: 42px sẽ trỏ đến danh sách không có thứ tự và di chuyển danh sách này 42px, tính từ trên cùng.

#menu ul li

list-style-type: none sẽ bỏ dấu bullet đầu dòng.

display: inline để thay đổi cách trình bày của từng mục trong danh sách từ dọc thành ngang.

margin-left: 50px sẽ giãn cách các mục trong danh sách ra một chút.

Bước 5: Tạo kiểu cho các liên kết

Bước cuối cùng trong việc tao menu ngang trong HTML là tạo kiểu cho các liên kết.

Lưu ý rằng trong HTML document, các thẻ (<a></a>) nằm giữa các list item tag (<li></li>) và lần lượt được bao quanh bởi các unordered list tag (<ul></ul>). Ở bên ngoài là menu division (<div id=''menu''></div>).

Cấu trúc này là bắt buộc để có thể tạo kiểu cho các liên kết. Cấu trúc nó như sau:

Menu Division > Unordered List > List item > Anchor / Link Tag

Sau đó, hãy sử dụng code sau:

#menu ul li a:link 
{
   color: #FFF;
   text-decoration: none;
   text-transform: uppercase;
   padding-top: 40px;
   padding-bottom: 40px;
   padding-left: 20px;
   padding-right: 20px;
}
              
#menu ul li a:visited
{
   color: #FFF;
   text-decoration: none;
   text-transform: uppercase;
}
              
#menu ul li a:hover
{
   color: #FFF;
   background-color: #81B101;
   -webkit-box-shadow: 0px 4px 5px rgba(50, 50, 50, 0.93);
   -moz-box-shadow:    0px 4px 5px rgba(50, 50, 50, 0.93);
   box-shadow:         0px 4px 5px rgba(50, 50, 50, 0.93);
}

#menu ul li a:link

Đoạn này sẽ áp dụng một style chung cho các liên kết trong menu.

  • Đầu tiên, màu của liên kết được chuyển thành màu trắng (#FFF) để dễ đọc hơn.
  • code text-decoration: none: Xóa phần gạch chân ở dưới các link (theo mặc định) bằng .
  • transform: uppercase: Để tạo chữ viết hoa, chúng ta dùng
  • padding: Xác định khu vực có thể click vào link.

Để thấy rõ hơn tác dụng của padding, bạn có thể thử thêm dòng background-color: red vào trong phần #menu ul li a:link.

Sau đó, xóa phần background-color : red để hoàn thiện.

# menu ul li a:visited

Phần này giúp đảm bảo các link vẫn giữ nguyên định dạng sau khi đã được click vào.

# menu ul li a:hover

Nếu bạn di chuột đến một link nào đó, bạn sẽ thấy màu nền chuyển thành màu xanh lục, văn bản vẫn giữ màu trắng và có một chút bóng ở phía dưới. Đây là những gì code trên đã làm.

Nếu bạn đang sử dụng mã nguồn WordPress thì bạn cũng có thể sửa code WordPress với HTML và CSS trong giao diện của nó.

Tổng kết việc tạo menu ngang trong HTML

Như vậy là ta đã hoàn tất việc tạo menu ngang trong HTML, nhìn đơn giản nhưng vẫn đủ chuyên nghiệp. Bạn hoàn toàn có thể tạo thêm nhiều menu đẹp khác nữa bằng các code CSS và HTML. Chúc các bạn thành công!

Tài liệu tham khảo thêm để tạo menu ngang trong HTML và CSS hiệu quả:

Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments