Trong thiết kế giao diện web hiện đại, biểu tượng (icon) không chỉ là chi tiết trang trí mà còn đóng vai trò quan trọng trong việc truyền tải thông tin một cách trực quan và nhanh chóng. Người dùng chỉ cần nhìn thấy một hình ảnh nhỏ như biểu tượng kính lúp để hiểu rằng đó là ô tìm kiếm, hay biểu tượng thùng rác để biết rằng đó là nút xóa. Chính vì sự tiện lợi này, các thư viện icon ngày càng trở thành công cụ không thể thiếu trong quá trình phát triển giao diện.
Nếu như trước đây, Bootstrap 3 từng đi kèm bộ Glyphicons, thì sang Bootstrap 4, nhóm phát triển đã loại bỏ hoàn toàn để giảm tải và trao quyền lựa chọn cho lập trình viên. Điều này dẫn tới sự phụ thuộc vào các thư viện bên ngoài như FontAwesome hay Ionicons, vốn có nhiều ưu điểm nhưng đôi khi lại gây thiếu đồng bộ về mặt giao diện. Đến năm 2020, nhóm phát triển Bootstrap đã chính thức ra mắt Bootstrap Icons, là một thư viện biểu tượng độc lập, mã nguồn mở, được thiết kế để hoạt động liền mạch với Bootstrap 5 nhưng cũng có thể dùng riêng trong bất kỳ dự án nào.
![]() |
Bootstrap Icons: Hướng dẫn sử dụng, cài đặt và tùy chỉnh trong lập trình web |
Tổng quan về Bootstrap Icons
Bootstrap Icons là một thư viện biểu tượng dạng vector (SVG) do nhóm phát triển Bootstrap xây dựng và phát hành miễn phí theo giấy phép MIT. Phiên bản đầu tiên ra mắt vào năm 2020 đánh dấu lần đầu tiên Bootstrap sở hữu một bộ icon chính chủ, thay thế cho Glyphicons vốn đã quen thuộc trước đó. Hiện nay, thư viện này đã có hơn 1.800 biểu tượng khác nhau, bao phủ nhiều mảng phổ biến như điều hướng, biểu mẫu, truyền thông, thương mại điện tử và mạng xã hội.
Điểm mạnh của Bootstrap Icons nằm ở chỗ nó được phát triển với triết lý gọn nhẹ, dễ tùy biến và tương thích tuyệt đối với hệ thống component trong Bootstrap. Không giống như các bộ icon nặng nề hoặc yêu cầu thêm JavaScript, Bootstrap Icons chỉ dựa vào CSS và SVG, giúp tối ưu tốc độ tải trang. Website chính thức của thư viện, icons.getbootstrap.com, cung cấp giao diện tìm kiếm trực quan, cho phép lập trình viên dễ dàng tra cứu và lấy mã biểu tượng cần thiết.
![]() |
Một số icon trong Boostap Icons |
Lợi ích khi sử dụng Bootstrap Icons
- Tối ưu hóa cho Bootstrap: Bootstrap Icon được phát triển nhằm đảm bảo tương thích hoàn hảo với các thành phần của Bootstrap.
- Biểu tượng SVG: Có khả năng tùy chỉnh kích thước, màu sắc và độ dày nét một cách dễ dàng chỉ bằng CSS.
- Nhẹ và không phụ thuộc vào JavaScript: Thư viện có quy trình cài đặt đơn giản và nhanh chóng để dễ dàng sử dụng.
- Nguồn mở (Giấy phép MIT): Bootstrap Icon là thư viện miễn phí, cho phép người dùng tùy chỉnh một cách nhanh chóng.
- Dễ dàng tìm kiếm và sử dụng biểu tượng: Giao diện của website Bootstrap Icon rất thân thiện, thuận tiện cho việc tìm kiếm các biểu tượng phù hợp với nhu cầu sử dụng.
Các cách cài đặt phù hợp với nhiều quy mô dự án
Bootstrap Icons hỗ trợ nhiều phương thức cài đặt để phù hợp với quy mô và tính chất của từng dự án.
Cài đặt qua trình quản lý gói (npm hoặc Composer)
Việc cài đặt Bootstrap Icon bao gồm các tệp SVG, sprite biểu tượng và phông chữ biểu tượng thông qua npm hoặc Composer.
Sử dụng npm:
npm i bootstrap-icons
Sử dụng Composer:
composer require twbs/bootstrap-icons
Ưu điểm:
Dễ dàng quản lý và tích hợp vào các dự án sử dụng bundler như Webpack, Vite, Laravel Mix, đồng bộ với các thư viện khác. Việc cập nhật phiên bản mới chỉ cần một lệnh đơn giản. Ngoài ra, phương pháp này còn hạn chế phụ thuộc vào kết nối Internet, cho phép hoạt động offline. Đây là lựa chọn lý tưởng cho các dự án có quy mô trung bình đến lớn, nơi việc quản lý gói và build tự động là cần thiết.
Cài đặt qua CDN
Một phương pháp đơn giản và nhanh chóng để tích hợp Bootstrap Icon vào dự án là sử dụng CDN. Bạn có thể nhúng liên kết CDN CSS của Bootstrap Icon vào phần <head>
của trang web như sau:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
Hoặc sử dụng @import
trong tệp CSS thông qua jsDelivr:
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
Ưu điểm:
Phương pháp cài đặt rất nhanh chóng, không yêu cầu build hoặc sử dụng trình quản lý gói. Việc tải qua CDN tận dụng các máy chủ phân tán toàn cầu và bộ nhớ cache, giúp tốc độ tải nhanh và ổn định. Cách tiếp cận này phù hợp cho các dự án nhỏ, cần triển khai nhanh hoặc thử nghiệm tính năng mà không muốn cài đặt thêm thư viện.
Cài đặt thủ công bằng cách tải tệp
Bạn có thể tải toàn bộ gói Bootstrap Icons từ GitHub, bao gồm các file SVG, font, giấy phép, README và tệp package.json
(các script npm chủ yếu dành cho mục đích phát triển). Sau khi tải về, bạn chỉ cần đưa các tệp này vào dự án web để sử dụng.
Ưu điểm:
Phương pháp này cho phép bạn toàn quyền kiểm soát tài nguyên, không phụ thuộc vào mạng hoặc CDN. Việc chỉnh sửa trực tiếp SVG hoặc CSS cũng trở nên dễ dàng hơn khi cần tùy biến icon. Đây là giải pháp phù hợp cho các hệ thống nội bộ, yêu cầu bảo mật cao hoặc không muốn phụ thuộc vào dịch vụ bên ngoài. Đồng thời, nếu bạn không sử dụng npm/composer mà vẫn muốn tích hợp icon vào dự án một cách linh hoạt, thì đây cũng là lựa chọn hợp lý.
Ví dụ sử dụng Bootstrap Icons
Sau khi cài đặt thành công, lập trình viên có thể chèn biểu tượng vào dự án bằng cách gọi class theo tên của icon.
Nút có biểu tượng
Ví dụ, để tạo một nút tải xuống, có thể viết:
<button class="btn btn-primary">
<i class="bi bi-download"></i> Tải xuống
</button>
Biểu tượng trong nhóm nhập liệu
Thêm biểu tượng vào input bằng Bootstrap:
<div class="input-group mb-3">
<span class="input-group-text"><i class="bi bi-person"></i></span>
<input type="text" class="form-control" placeholder="Tên đăng nhập">
</div>
Biểu tượng với Tooltip
Bootstrap Icons hỗ trợ tốt khi kết hợp với các tính năng như tooltip:
<i class="bi bi-info-circle" data-bs-toggle="tooltip" title="Thông tin chi tiết"></i>
Nhúng SVG trực tiếp
Thư viện cung cấp mã SVG riêng cho từng biểu tượng. Bạn có thể copy SVG từ trang chính và dán trực tiếp vào HTML:
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle-fill" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293z"/>
</svg>
Sử dụng SVG như ảnh tĩnh
Nếu không muốn nhúng SVG vào HTML, bạn có thể dùng dạng hình ảnh:
<img src="/icons/heart-fill.svg" width="32" height="32" alt="Heart Icon">
Tùy chỉnh Bootstrap Icons
Bootstrap Icons rất linh hoạt nhờ sử dụng định dạng SVG, dễ dàng tùy chỉnh bằng CSS.
Đổi màu biểu tượng
Dùng các class có sẵn của Bootstrap như text-danger
để thay đổi màu:
<i class="bi bi-heart-fill text-danger"></i>
Thay đổi kích thước
Sử dụng style trực tiếp hoặc class như fs-3
:
<i class="bi bi-alarm" style="font-size: 2rem;"></i>
Thêm hiệu ứng động
Bạn có thể tạo hiệu ứng xoay bằng CSS animation:
.spin {
animation: spin 2s linear infinite;
}
@keyframes spin {
100% {
transform: rotate(360deg);
}
}
Và gọi trong HTML như sau:
<i class="bi bi-arrow-repeat spin"></i>
Nhờ những tùy biến này, Bootstrap Icons cực kỳ linh hoạt, phù hợp cả với các dự án yêu cầu hiệu ứng sinh động và hiện đại.
Lưu ý khi sử dụng
Mặc dù dễ dùng, lập trình viên vẫn cần lưu ý một số điểm để tối ưu hiệu quả. Nếu chèn SVG trực tiếp, hãy chắc chắn rằng thuộc tính fill="currentColor"
được khai báo để có thể thay đổi màu bằng CSS. Khi chỉ sử dụng một vài icon, nên cân nhắc việc nhúng SVG thay vì tải toàn bộ font để giảm dung lượng trang.
Ngoài ra, với các icon chỉ mang tính chất trang trí, nên thêm thuộc tính aria-hidden="true"
để tránh gây nhiễu cho công cụ đọc màn hình. Ngược lại, nếu icon mang nội dung quan trọng, cần bổ sung mô tả thay thế bằng aria-label
.
So sánh Bootstrap Icons và FontAwesome
Cả Bootstrap Icons và FontAwesome đều là hai thư viện phổ biến, nhưng mỗi bên có những đặc điểm riêng. Bootstrap Icons được phát triển bởi chính nhóm Bootstrap, hiện có khoảng 2.000 biểu tượng và hoàn toàn miễn phí. Các biểu tượng được thiết kế theo phong cách đơn giản, thiên về outline và sử dụng định dạng SVG-first.
FontAwesome thì đa dạng hơn, với hơn 30.000 biểu tượng bao gồm cả bản miễn phí và bản trả phí. Thư viện này cung cấp nhiều kiểu dáng như solid, regular, duotone hay brands, nhưng đồng thời cũng nặng hơn, đặc biệt khi tải trọn bộ.
Nếu dự án của bạn đã sử dụng Bootstrap và cần sự đồng bộ tuyệt đối, Bootstrap Icons là lựa chọn tối ưu. Ngược lại, nếu cần một bộ biểu tượng khổng lồ với nhiều phong cách, FontAwesome vẫn là đối thủ mạnh.
Câu hỏi thường gặp
Bootstrap Icons có thể dùng độc lập không?
Có. Đây là thư viện độc lập, không yêu cầu phải cài Bootstrap CSS hoặc JS.
Phiên bản mới nhất là gì?
Tính đến tháng 1/2025, phiên bản mới nhất là v1.11.3.
Làm sao đổi màu icon khi hover?
.bi:hover {
color: red;
}
Bootstrap Icons có hỗ trợ React, Angular hay Vue không?
Hoàn toàn có thể. Chỉ cần cài đặt qua npm rồi import CSS.
Tại sao icon không hiển thị?
Nguyên nhân thường gặp là chưa import đúng file CSS hoặc gọi sai class của icon.
Kết luận
Bootstrap Icons là một bước tiến quan trọng trong việc hoàn thiện hệ sinh thái Bootstrap. Với ưu điểm nhẹ, dễ dùng, miễn phí và tương thích hoàn hảo với Bootstrap 5, thư viện này đang trở thành lựa chọn phổ biến của cộng đồng lập trình viên. Dù bạn đang xây dựng một website thương mại điện tử, một dashboard quản trị hay một ứng dụng web đơn giản, Bootstrap Icons đều có thể đáp ứng nhu cầu biểu tượng một cách nhanh chóng và hiệu quả.
So với các thư viện khác, Bootstrap Icons không quá đồ sộ, nhưng bù lại mang đến sự gọn gàng, linh hoạt và tinh thần “Bootstrap” vốn đã quen thuộc với hàng triệu lập trình viên trên thế giới. Nếu bạn muốn dự án của mình vừa nhẹ, vừa hiện đại, vừa dễ bảo trì, thì đây chính là giải pháp phù hợp.