MENUS
IMAGES
BUTTONS
FORMS
FILTERS
TABLES
MORE
WEBSITE
GRID
GOOGLE MAP
CONVERTERS
HOW TO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Hướng dẫn tạo Icon Bar với HTML, CSS và Javascript

Icon Bar là một dạng menu hoặc button nhưng chúng được thêm các icon để hiển thị một cách sinh động và tường minh, Những Icon mà chúng ta hay gặp nhất có thể kể đến như Menu Home có icon hình ngôi nhà, button Search có icon hình chiếc kính lúp.vv.. Việc thêm icon vào các button, menu không chỉ khiến chúng trở nên đẹp mà còn biểu thị được phần nào chức năng của menu, button đó thông qua icon.

test php

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.

Trong bài này mình sẽ cùng các bạn xây dựng một menu dạng icon menu đơn giản, các bạn hãy xem hình ảnh demo dưới đây của icon menu:

huong dan tao icon bar voi html css va javascript jpg

Cùng tiến hành xây dựng menu này nhé.

1. Xây dựng giao diện

Đầu tiên chúng ta sẽ xây dựng phần giao diện cho thanh menu, các bạn tạo các menu bằng doạn mã sau:

Bài viết này được đăng tại [free tuts .net]

Code RUN
<div class="container">
    <h1>Freetuts.net hướng dẫn tạo Icon Bar</h1>
    <div class="icon-bar">
        <a class="active" href="#"><i class="fa fa-home"></i></a> 
        <a href="#"><i class="fa fa-search"></i></a> 
        <a href="#"><i class="fa fa-envelope"></i></a> 
        <a href="#"><i class="fa fa-globe"></i></a>
        <a href="#"><i class="fa fa-trash"></i></a> 
    </div>
</div>

 Các tên class các bạn giữ nguyên nhé lí do thì ở phần thêm CSS mình sẽ giải thích.

Mình cũng đặt cho Menu Home class active để mặc định sẽ coi nó là menu được chọn.

2. Thêm CSS cho giao diện

Trong phần này chúng ta sẽ thêm css để trang điểm cho phần menu này nhé :D.

Đầu tiên các bạn đặt đoạn mã sau trong thẻ head để nhúng file font-awesome.min.css:

Code
<link rel="stylesheet" href="./Font-Awesomecss/css/font-awesome.min.css">

Nếu như các bạn còn chưa biết thì font-awesome là một bộ font hình biểu tượng, nó sẽ giúp chúng ta nhúng các icon vào website mà không cần dùng đến hình ảnh, link tải font-awesome mình sẽ đặt ở cuối bài viết, các bạn tải về và giải nén vào thư mục Font-Awesomecss nhé. Việc sử dụng font awnsome để tạo icon chính là lí do mà mình yêu cầu các bạn giữ nguyên tên các class ở bước 1.

Bước tiếp theo chúng ta sẽ định dạng các thành phần của thanh menu, các bạn dán đoạn code dưới đây vào trong thẻ style:

Code RUN
.container {
    width: 50%;
    margin: auto;
}
.icon-bar {
    width: 100%;
    background-color: #555;
    overflow: auto;
}

.icon-bar a {
    float: left;
    width: 20%;
    text-align: center;
    padding: 12px 0;
    transition: all 0.3s ease;
    color: white;
    font-size: 36px;
}

.icon-bar a:hover {
    background-color: #000;
}

.active {
    background-color: #4CAF50 !important;
}

Chúng đều là các đoạn code rất đơn giản nên mình cũng không cần giải thích gì thêm nữa.

Lưu ý là mình sẽ đặt một class active với màu nền khác biệt để hiển thị menu đang được active.

3. Thêm xử lý với Javascript

vậy ta đã có đầy đủ phần thể xác rồi, trong bước này chúng ta sẽ thổi hồn vào để nó hoạt động được nhé!

Các bạn thêm đoạn script này vào sau thẻ body:

Code RUN
<script>
    //lấy tất cả các button menu
    var menus = document.getElementsByTagName('a');
    //lặp qua tất cả các menu và gán sự kiện
    for (var i = 0; i < menus.length; i++) {
        menus[i].addEventListener("click", function(){
            //bỏ active tất cả các menu
            for (var i = 0; i < menus.length; i++) {
                menus[i].classList.remove("active");
            }
            //active menu được click
            this.classList.toggle("active");
        });
    }
</script>

Trong đoạn mã này mình đã giải thích rất kỹ bằng ghi chú và thực chất thì nó cũng rất đơn giản nên mình cũng không giải thích thêm nữa.

OK xong rồi, giờ các bạn chạy file index.html để xem thành quả mình vừa tạo ra nhé!

4. Lời kết

Việc tạo các icon cho menu là một việc rất đơn giản nhưng lại khiến cho website của bạn chuyên nghiệp và thân thiện với nhiều loại người dùng khác nhau. Hi vọng qua bài viết này các bạn đã có thêm sự lựa chọn trong việc thiết kế menu cho trang web, nếu có bất cứ thắc mắc nào các bạn có thể để lại trong phần bình luận, hẹn gặp lại trong các bài viết tiếp theo trên freetuts.net.

Tham khảo: w3schools.com

Danh sách file tải về

Tên file tải về Pass giải nén
Download Font awensome freetuts.net hoặc gameportable.net

Cùng chuyên mục:

Tạo Trang web E-commerce  từ HTML & CSS

Tạo Trang web E-commerce từ HTML & CSS

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 ...

Top