Hướng dẫn build icons từ SVG và Font Awesome

5/5 - (1 bình chọn)

Việc sử dụng tài nguyên một cách tiết kiệm nhất luôn là bài toán mang lại nhiều cải tiến trong mảng lập trình web. Code Tốt sẽ chia sẻ kinh nghiệm để tuỳ biến icon web font gọn nhẹ phù hợp với website của bạn.

Các vấn đề chính

Hãy đi từ bài toán cơ bản. Chẳng hạn bạn có 10 icons muốn sử dụng, trong đó bao gồm 5 icons Social và 5 icons custom. Tất cả đều có ở package của Font-awesome. Theo lẽ thông thường, bạn rõ ràng có thể nhúng 1 line .css từ Font-awesome vào và tha hồ gọi fa fa facebook một cách thoải mái.

Vấn đề nảy sinh khi mà trong bộ package Font awesome có tới hàng nghìn icon, trong khi rõ ràng web của bạn chẳng thể nào dùng hết đống icon đấy làm gì cả. Như vậy, bài toán tiết kiệm được đặt ra giúp giảm thiểu kích thước file CSS, tối ưu hoá web cho load nhanh hơn.

Bạn sẽ làm gì?

Code Tốt nghiêng về phương án bạn lựa chọn icon nào đó mình muốn sử dụng, tổ chức lại thành 1 library riêng phù hợp với project hiện tại của mình. Điều này lại hoàn toàn khả thi và dễ dàng tái tổ chức thư việc và kết hợp không chỉ library Font-awesome mà còn các library icon khác.

Vậy chúng ta sẽ bắt đầu thực hành 1 case như vậy nhé?

Các bước triển khai việc xây dựng thư viện icon font

  1. Lên danh mục các icon dự kiến sử dụng.
  2. Tìm thử và collect từ các thư việc open source.
  3. Bổ sung icon premium (nếu bạn đã trả tiền)
  4. Import vào App và generate ra 1 bộ icon font riêng.

Hãy bắt đầu nhé!

Thu thập các font icon sẽ sử dụng

Đầu tiên, bạn quan sát 1 lượt design (nếu có), hoặc lên ý tưởng các icon sẽ sử dụng để làm phong phú website của mình.

Chẳng hạn, mình nhận thấy các icon sau sẽ sử dụng:

Icon nằm trên Header
Icon calendar sẽ nằm trong các bài post
Nhóm icon social nằm ở cuối trang

Như vậy, ta có tổng cộng 6 icons cần tới trong nội dung website.

Tìm kiếm các icon phù hợp từ trên các Open Source Web Font Icon

Bước tiếp theo, chúng ta sẽ tìm các icon đáp ứn nhu cầu từ Icomoon App. Nhiệm vụ của App này rất lý tưởng: ta chọn icon từ thư viện open source, trả phí hoặc import từ máy, sau đó App sẽ render ra web font icon cho chúng ta. Thật tuyệt phải không?

Import thư viện Font Icon

Khi mới load App thì không hiện ra Library nào cả, bạn cần load bằng cách click vào Add Icons From Library… nằm dưới cùng nhé.

Lựa chọn icon

Sau khi bạn lựa chọn Library, danh mục icon sẽ rất dài, thế nên cách tốt nhất là bạn sử dụng công cụ tìm kiếm để chọn lọc các icon phù hợp.

Thêm icon font trong Icomoon

Bạn có thể quan sát các icon mình đã lựa chọn thông qua thanh Bar nằm dưới cùng của site nhé:

Icomoon Bar

Generate Font Icon

Sau khi lựa chọn các icon phù hợp, bạn lựa chọn Generate Font. Nhưng mà khoan, bạn có thể click vào icon nhỏ nhỏ nằm cạnh để Customize cho phù hợp hơn, bao gồm xuất ra cả định dạng SCSS/LESS nữa đấy.

Tải về, cài đặt và nhúng vào web

Điều này tương đối đơn giản rồi. Icomoon sẽ xuất ra code mẫu để bạn sử dụng, chỉ cần bạn copy đúng chỗ là sẽ hiển thị ra được thôi.

Kinh nghiệm rút ra

Việc xây dựng một bộ icon phù hợp với project là điều nên làm nhằm giúp bạn xây dựng tính thống nhất, quản lý thư viện icon và tối ưu hoá website gọn nhẹ hơn trước khi output đầu ra CSS.

Một lưu ý khác là Icomoon App lưu  danh sách các icon bạn đã chọn theo cookie, nên khi bạn thoát ra khỏi trình duyệt thì các icon sẽ không hiện lại. Tuy nhiên bạn có thể import lại rất đơn giản bằng cách lấy file SVG đã export để import lại vào app nhé.

Chúc các bạn sử dụng web font icon hiệu quả nhé.

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan

07/04/2024

PHP: Format date dd/mm/yyyy và so sánh với Date hiện tại
Một vấn đề hay gặp trong quá trình xử lý PHP datetime là tình huống format date từ định dạng...

02/01/2024

Fix lỗi npm không thể cài các package devDependencies
Khi cài đặt dự án,  có lúc bạn sẽ cài mãi cũng không đủ các package npm, đặc biệt là...
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...