MENUS
IMAGES
BUTTONS
FORMS
FILTERS
TABLES
MORE
WEBSITE
GRID
GOOGLE MAP
CONVERTERS
HOW TO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Hướng dẫn tạo thanh top navigation bằng HTML và CSS

Các bạn làm web hẳn đều biết đến thanh navigation (thanh điều hướng), thanh được dùng để điều hướng các phần chính của một website như "Trang chủ", "Tin tức", "Liên Hệ", "Về chúng tôi", ... Thanh này thường được đặt ở đầu trang web hoặc đặt sau header, tùy theo thiết kế và yêu cầu của từng bài. Thiết kế một thanh navigation sẽ làm trang web của chúng ta rõ ràng hơn, người dùng cũng dễ dàng hiểu được trang web của mình có những phần mục nào.

Hôm nay, mình sẽ làm ví dụ về thanh navigation đặt trên top nhé. Còn trường hợp đặt sau header, bạn chỉ cần đẩy nó cuống dưới và để header lên trên là được nhé.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Đây là một ví dụ về thanh top navigation:

2018 05 25 154533 png

Giờ thì mình bắt tay vào làm ví dụ ngay các bạn nhé

Thanh điều hướng Navigation nằm ở đầu trang 

HTML

Đầu tiên nhất vẫn là viết HTML trước, các bạn nhập đoạn mã HTML sau đây vào file HTML nhé:

<div class="topnav">
    <a class="active" href="#home">Trang chủ</a>
    <a href="#news">Tin tức</a>
    <a href="#contact">Liên hệ</a>
    <a href="#about">Về chúng tôi</a>
</div>

<div style="padding-left:16px">
    <h2>Ví dụ về Top Navigation</h2>
    <p>Nội dung..</p>
</div>

Ở đây mình chỉ lấy ví dụ 4 phần mục lớn, tương ứng mình sẽ đặt trong 4 div khác nhau, bạn cũng có thể thêm hoặc bỏ bớt các phần danh mục theo yêu cầu của bài mình nhé.

Ở phần "Trang chủ" mình có đặt class=active mà ở những thẻ khác không có là vì mình sẽ để tab "Trang chủ" được auto hiển thị khi trang web được mở lên.

CSS

Tiếp theo là đến CSS nhé. Các bạn có thể tham khảo css của mình ở dưới đây

Demo RUN
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.topnav {
    overflow: hidden;
    background-color: #333;
}

.topnav a {
    float: left;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
}

.topnav a:hover {
    background-color: #ddd;
    color: black;
}

.topnav a.active {
    background-color: #4CAF50;
    color: white;
}

Kết quả

2018 05 25 154533 png

Thanh điều hướng cố định ở đầu trang

Nếu như bạn đã dùng qua excel thì hẳn bạn cũng biết đến chức năng Freeze Top Row (cố định phần tiêu đề), tức là khi bạn cuộn chuột thì chỉ nội dung của trang bị tác động còn phần tiêu đề thì đứng yên. Bạn cũng hoàn toàn có thể làm điều này bằng CSS.

Áp dụng vào bài tập ở trên, bạn chỉ cần sửa một chút CSS là được nhé.

Đầu tiên trong thẻ body, bạn thêm thuộc tính position: absolute;

Trong class .topnav, bạn cũng thêm thuộc tính position: fixed;  và đổi width: 100%; là được.

Các bạn có thể tham khảo bài mình sửa sau đây nhé

Demo RUN
body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    position: absolute;
}

.topnav {
    width: 100%;
    overflow: hidden;
    background-color: #333;
    position: fixed;
}

.topnav a {
    float: left;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
}

.topnav a:hover {
    background-color: #ddd;
    color: black;
}

.topnav a.active {
    background-color: #4CAF50;
    color: white;
}

Các bạn "run" để kiểm tra và so sánh kết quả của mình nhé

Lời kết

Thanh navigation rất quan trọng đối với mỗi website. Nó cho người dùng biết trang web của bạn có những mục gì và trang web của bạn thuộc loại trang web nào. Như vậy, ở trên mình đã hướng dẫn về thiết kế một thanh navigation đặt ở trên top của trang web. Thật đơn giản phải không các bạn. Chúc các bạn thành công nhé!

Nguồn: https://www.w3schools.com/howto/howto_js_topnav.asp

Cùng chuyên mục:

Validate form bằng HTML5

Validate form bằng HTML5

Trước đây chúng ta hay validate form bằng Javascript, nhưng ...

Thẻ aside trong HTML5

Thẻ aside trong HTML5

Mình cũng không rõ người ta tạo ra thẻ này làm gì, nhưng nếu xét…

Thẻ hgroup trong HTML5

Thẻ hgroup trong HTML5

hgroup là một thẻ được thêm vào kể từ phiên bản ...

Thẻ header trong HTML5

Thẻ header trong HTML5

Nếu nhìn qua một trang web được xây dựng bằng HTML5 thì bạn ...

Các thẻ HTML tạo form thu thập dữ liệu

Các thẻ HTML tạo form thu thập dữ liệu

Trước khi bắt đầu thì bạn phải hiểu khái niệm form dữ liệu là ...

Tạo background và đường viền cho thẻ HTML

Tạo background và đường viền cho thẻ HTML

Để tạo màu nền cho một thẻ HTML bất kì thì ta sử dụng thuộc…

Tạo menu một cấp bằng HTML đơn giản

Tạo menu một cấp bằng HTML đơn giản

Để làm menu 1 cấp thì có rất nhiều giải pháp. Bạn có thể sử…

Tạo HTML danh sách bài viết đơn giản

Tạo HTML danh sách bài viết đơn giản

Mục đích mình đưa ra bài tập này là giúp các bạn hiểu được cách…

Tạo bổ cục layout HTML đơn giản

Tạo bổ cục layout HTML đơn giản

Qua bài học này bạn sẽ biết cách tạo một file style riêng để ..

Phân biệt ID và Class trong HTML

Phân biệt ID và Class trong HTML

Mỗi thẻ HTML đều có những thuộc tính riêng và khác nhau. Tuy nhiền ..

Cách dùng thẻ div trong HTML để tạo các khối giao diện

Cách dùng thẻ div trong HTML để tạo các khối giao diện

Thẻ div đóng vai trò rất quan trọng, nó được dùng để tạo ...

Phân biệt thẻ HTML Block và Inline

Phân biệt thẻ HTML Block và Inline

Có bao giờ bạn thắc mắc rằng, tại sao nội dung ...

Thuộc tính style trong HTML

Thuộc tính style trong HTML

Do chúng ta chưa học CSS nên mình sẽ không nói ...

Thẻ title trong HTML

Thẻ title trong HTML

Cách sử dụng thẻ title html ...

Thẻ style trong HTML

Thẻ style trong HTML

Style là một thẻ HTML bình thường, nó có công dụng là xác ...

Thẻ base trong HTML

Thẻ base trong HTML

Cách sử dụng thẻ base trong html ...

Thẻ link trong HTML

Thẻ link trong HTML

Cách sử dụng thẻ html ...

Thẻ meta trong HTML

Thẻ meta trong HTML

Cách sử dụng thẻ meta html ...

Thẻ script trong HTML

Thẻ script trong HTML

Cách sử dụng thẻ script html ...

Thẻ noscript trong HTML

Thẻ noscript trong HTML

Cách sử dụng thẻ noscript html ...

Top