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. Trong bài viết này, BKNS sẽ hướng dẫn bạn tạo menu ngang trong HTML và CSS với 5 bước đơn giản.
Tạo menu ngang trong HTML và CSS chỉ với 5 bước
Tóm Tắt Bài Viết
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 rel=”stylesheet” type=”text/css” href=”style.css” />
</head>
<body>
<div id=”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à 900px và 100px 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ỏ.
>> Xem thêm: Code web là gì? Tổng hợp kiến thức căn bản cho Newbie vào nghề Coder
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”>
<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.
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.
Xem thêm: TOP 5 cách thêm nút gọi điện cực đơn giản cho WordPress
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
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!
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến:
>> DevOps là gì? Cách thức hoạt động và tính năng của DevOps
>> Lazy Loading là gì? Tại sao nên triển khai Lazy Loading?
>> HTTP Request và HTTP Response trong lập trình Web
Theo dõi BKNS thường gTLDs là gì? Tìm hiểu chi tiết về gTLDsxuyên hơn tại các nền tảng mạng xã hội:
>> Fanpage: https://www.facebook.com/bkns.vn
>> Youtube: https://www.youtube.com/c/BknsVn1
>> Pinterest: https://www.pinterest.com/bknsvn/
>> LinkedIn: https://www.linkedin.com/company/bkns-vn/
[mautic type=”form” id=”6″]