Tạo menu bằng HTML và CSS là một trong những công việc mà front-end dev ai cũng làm qua. Tuy nhiên đối với những bạn mới bắt đầu tìm hiểu thì có thể gặp đôi chút khó khăn. Vì vậy, hãy cùng Miko Tech tìm hiểu 3 bước đơn giản để tạo menu trong HTML & CSS nhé
Bài viết này sẽ giúp bạn tạo thanh menu trong HTML & CSS đơn giản với 3 bước. Viết HTML, viết CSS đặt lại và viết CSS cho từng định dạng menu ngang và dọc. Bên cạnh đó, Miko Tech cũng sẽ hướng dẫn bạn tạo menu ngang và dọc có menu thả xuống [đổ xuống]
Xem Nhanh
- Tại sao cần tạo menu cho trang web?
- Menu đa cấp là gì?
- Lợi ích của menu đa cấp
- Bước 1 – Viết HTML [cách tạo menu trong HTML]
- Bước 2. Viết CSS để có một menu hoàn chỉnh
- Bước 3 – Viết CSS cho từng định dạng Menu ngang/đọc
- Menu ngang
- Menu ngang có menu thả xuống [đổ xuống]/menu đa cấp
- Menu Dọc
- Menu dọc có menu thả xuống [đổ xuống]
Tại sao cần tạo menu cho trang web?
Đối với người truy cập các trang web thì thanh menu [thanh điều hướng] rất quan trọng. Menu cho phép người truy cập nhanh chóng và dễ dàng tìm thấy thông tin họ đang tìm kiếm
Trang chủ
Giới thiệu
Sản phẩm
Hỏi đáp
Liên hệ
[/html]Kết quả nhận được sau khi viết mã HTMLBước 2. Viết CSS để có một menu hoàn chỉnh
Đầu tiên, để dễ dàng cho việc chỉnh sửa CSS về sau, hãy thực hiện việc Reset CSS bằng đoạn mã sau
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
Tiếp theo, chúng ta sẽ viết CSS cho phần “body” với phần code sau
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
Đến đây thì menu của bạn sẽ giống như thế này
Kết quả sau khi reset CSS và thêm style cho websiteBước 3 – Viết CSS cho từng định dạng Menu ngang/đọc
Menu ngang
Cùng tìm hiểu cách tạo menu ngang trong HTML & CSS ngay dưới đây nhé
Do thẻ
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
5 trong HTML dùng để tạo danh sách nên mặc định sẽ có dấu “chấm” ở đầu mỗi dòng. Vì thế, chúng ta sẽ sử dụng thuộc tính /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
8 để xóa đi những dấu chấm này. Đồng thời, ta cũng sẽ đổi màu nền cho menu bằng thuộc tính /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
9-colorĐoạn mã dưới đây sẽ cho menu căn giữa bằng thuộc tính
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
00 để menu được đặt giữa sẽ đẹp hơn. Đoạn CSS will like after/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
0Các bạn có thể lấy các mã màu tại đây
Khi đến bước này, menu của chúng ta sẽ giống như thế này
Kết quả nhận được sau khi thêm phong cách cho menuNhưng cái chúng ta cần là menu ngang, vậy tiếp theo cần phải làm gì?
- Use the display type [hiển thị]
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
01 - Sử dụng
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
02 cho tất cả thẻ /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
6
Cách 1. Kiểu khối nội tuyến
Sau đây là đoạn mã CSS cho kiểu
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
01/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
6Với thuộc tính color, color code #f1f1f1 sẽ cho ra màu trắng, tiếp theo sẽ bổ sung thuộc tính width [ chiều rộng] và chiều cao [ chiều cao]. Lúc này các mục vẫn chưa được căn giữa, vì vậy cần bổ sung thuộc tính line-height với giá trị bằng chiều cao, kết quả cho ra sẽ như hình dưới đây
Kết quả sau khi bổ sung thuộc tính line-heightcách 2. float type
Với kiểu float thì sau đây sẽ là đoạn mã CSS
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
7Nếu bạn dùng kiểu float thì cần phải thêm một vài thuộc tính cho #menu ul like after
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
8Sau khi xếp hạng các thành hàng ngang bằng 2 chiều bên trên, thì cuối cùng ta sẽ trang trí menu bằng cách thêm kiểu cho thẻ
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
05 như sau/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
0Thuộc tính
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
06 là thuộc tính làm cho mục con trong menu có đường gạch dưới, vì thế để mất đi đường gạch chân, ta sẽ để “/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
07“. Quan trọng nhất là đặt kiểu hiển thị [hiển thị] cho các thẻ này thành “/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
08” để nó được phủ lên cái /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
09Kết quả tạm thời sẽ như sau
Kết quả thu được sau khi thêm các dòng mã trang menuTiếp theo, nếu bạn muốn có hiệu ứng xuất hiện khi rê chuột đến các mục con trong menu thì sẽ làm như sau
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
5Trên đây, bộ chọn “
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
60” sẽ chọn các liên kết được di chuột [chọn phần tử đang được người dùng rê chuột vào]. Sau khi hoàn thành ta sẽ thu được kết quả như sauMenu kết quả thu được sau khi thêm mã với bộ chọn “. bay lượn"Menu ngang có menu thả xuống [đổ xuống]/menu đa cấp
Nếu bạn muốn trong mục Sản phẩm sẽ có các menu con thì bạn sẽ phải làm như thế nào?
Đầu tiên, bạn cần viết HTML, công việc này sẽ tương tự bước 1 nhưng có một chút khác biệt bởi vì bạn cần bổ sung thêm thẻ
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
5 bên trong mục “Sản phẩm” và sẽ mang /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
62 /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
63 để tạo menu con trong HTML
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
0Tiếp theo, bạn sẽ thực hiện tương tự như bước 2 bên trên và viết tiếp CSS cho menu như đoạn mã bên dưới đây
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
0Đến đây bạn sẽ thấy menu con của mục Sản phẩm được hiển thị như thế này
Kết quả của trình đơn thả xuống sau khi mã cơ bản CSS và HTMLChính vì vậy, tiếp theo ta cần ẩn đi sub-menu và sẽ sử dụng vùng chọn thứ cấp liền kề để sau này bạn sử dụng nhiều cái sub-menu bên trong thì bạn sẽ dễ dàng làm việc hơn
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
1Tuy nhiên, lúc này phần menu con vẫn đang được nâng cấp. You have to custom variable re the sub-menu. Vị trí tùy chọn biến một phần tử mà không ảnh hưởng đến phần tử khác thì sẽ sử dụng thuộc tính vị trí
Cái bạn cần ở đây chính là cái menu con phải nằm gần phần tử mẹ, thì bạn phải thiết lập
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
64 thành kiểu /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
65/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
2Và tiếp theo là cho cái
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
66 thành kiểu /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
67 để nó luôn luôn nằm trong phạm vi menu mẹ, tức là nằm trong /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
64 ấy. Chúng ta viết lại đoạn. sub-menu as afterTiếp theo, bạn cần chọn cái. menu phụ thành kiểu tuyệt đối để nó luôn nằm trong phạm vi phần tử mẹ [#menu li]. Đoạn mã sẽ có định dạng như sau
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
3Kết quả cho ra sẽ là menu con không còn được đưa lên nữa
Kết quả của trình đơn thả xuống sau tùy chọn biến lại “. menu phụ”Khi rê chuột vào menu mẹ, để hiển thị. menu phụ, bạn cần kết hợp định dạng lớp “. hover” và gán display [kiểu hiển thị] là block
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
4Đây chính là kết quả cuối cùng của menu ngang có menu thả xuống
Mã kết quả cuối cùng của menu ngang thả xuốngMenu Dọc
Sau khi bạn thực hiện xong bước 1 và bước 2, chúng ta sẽ đến phần cách tạo menu dọc trong HTML. Đầu tiên, chúng ta sẽ thêm CSS vào
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
09 để chỉnh sửa kiểu bằng cách sử dụng thuộc tính /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
8, thêm màu nền, thuộc tính /*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
71 và căn chỉnh bên lề trái./*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
5Đến đây, kết quả sẽ hiển thị như sau
Menu dọc được thu thập sau khi viết HTML và CSS chỉnh sửa kiểu cơ bảnTiếp theo ta sẽ viết CSS cho các thẻ
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
6, ta sẽ thêm chiều cao [/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
73] và thêm chiều cao giữa các dòng [/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
74] bằng với chiều cao để mục con đứng giữa khối. Sau đó, ta sẽ bổ sung thuộc tính b/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
75 để định dạng đường viền
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
6Kết quả tạm thu được như sau
Menu vertical has been after when write CSS for thẻCuối cùng là viết CSS cho thẻ bên trong menu, chuyển nó qua thành khối và thêm các kiểu cần thiết, đồng thời tạo thêm hiệu ứng nền khác khi rê chuột vào mục menu
Cuối cùng, chúng ta sẽ tiến hành viết CSS cho thẻ
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
05 trong menu. Ta sẽ chuyển khối sang, thêm kiểu, loại bỏ gạch chân, in đậm cho chữ và thêm hiệu ứng khi rê vào chuột. Ta sẽ có đoạn mã như sau/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
7Đây là kết quả thu được sau khi hoàn thành việc tạo menu dọc
Menu Dọc – tạo menu trong HTML và CSSMenu dọc có menu thả xuống [đổ xuống]
Ví dụ: bây giờ bạn muốn ở mục Sản phẩm sẽ có thêm vài menu con nữa thì cần phải làm gì?
Đầu tiên sẽ tương tự như bước 1 nhưng sẽ có một chút khác biệt bởi vì bạn cần phải thêm một số thẻ để tạo menu phụ [menu con]
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
0Kế tiếp, ta sẽ đến bước tiếp theo là viết CSS cho menu
/*==Reset CSS==*/
* {
margin: 0;
padding: 0;
}
9Kết quả thu được sẽ giống như hình ảnh sau đây
Menu dọc thả xuống cơ bản sau khi viết HTML và CSSLúc này, các mục con trong Sản phẩm đang bị lỗi hiển thị. Vì thế, chúng ta cần bổ sung đoạn mã CSS bằng cách đưa
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
64 về dạng hiển thị [hiển thị] kiểu tương đối. Đoạn mã CSS sẽ trông như sau/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
0Kế tiếp, ta sẽ chuyển menu cấp 2 [tức #menu. sub-menu] về dạng tuyệt đối, điều chỉnh vị trí thụt sang bên trái với giá trị 250px bằng với chiều rộng của menu và đồng thời được đưa ra ở mức cao bằng mẹ phần tử
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
1Mặc dù, đến đây đã có menu thả xuống rồi, nhưng bạn muốn là khi rê chuột đến thì menu con mới hiện ra thì sẽ thực hiện với mã đoạn như sau
/*==Style cơ bản cho website==*/
body {
font-family: sans-serif;
color: #222;
}
2Menu thả xuống dọc Thành quảTrên đây, Miko Tech đã cùng bạn tìm hiểu về 3 bước đơn giản để tạo menu trong HTML & CSS kiểu ngang, dọc. Trong đó, bài viết đã bao gồm bước đầu tiên là viết HTML, bước 2 là viết reset CSS và bước 3 là viết CSS theo từng loại menu ngang/dọc
Hy vọng rằng bài viết này đã giúp cho các bạn mới tiếp xúc với HTML & CSS sẽ dễ dàng tạo menu HTML kiểu ngang và dọc cho mình nhé