Tan Phat Media

SVG to CSS Converter

Chuyển SVG thành CSS background-image

SVG Input
Preview
Nhập SVG để xem preview

SVG to CSS Converter - Chuyển Đổi SVG Sang CSS Background-Image Online Miễn Phí

Công cụ chuyển đổi SVG thành CSS background-image data URI online miễn phí của Tấn Phát Digital. Hỗ trợ 2 phương pháp encoding: URL encoded (nhẹ hơn 20-30%) và Base64 encoded (compatibility cao). Tự động thêm xmlns attribute nếu thiếu. Preview SVG trên nhiều màu nền (trắng, xám, đen) để kiểm tra transparency. Generate CSS class hoàn chỉnh với background-repeat, background-position, background-size. Copy output với một click. Giảm HTTP requests bằng cách inline SVG trong CSS. Hữu ích cho icons, logos, decorative elements. Xử lý 100% trên trình duyệt, không upload file lên server.

Tính năng nổi bật

Chuyển SVG thành CSS data URI
URL encoded - nhẹ hơn Base64 20-30%
Base64 encoded - compatibility cao với browsers cũ
Tự động thêm xmlns attribute nếu thiếu
Preview SVG gốc trước khi convert
Preview trên 3 màu nền: trắng, xám, đen
Kiểm tra transparency của SVG
Generate CSS class hoàn chỉnh
Bao gồm background-repeat: no-repeat
Bao gồm background-position: center
Bao gồm background-size: contain
Copy URL encoded output với 1 click
Copy Base64 output với 1 click
Copy full CSS class với 1 click
Sample SVG để test nhanh
Xử lý offline trên browser
Hoàn toàn miễn phí

Tại sao dùng SVG trong CSS background-image?

Inline SVG trong CSS mang lại nhiều lợi ích cho web performance. Giảm HTTP requests: Thay vì browser phải request file SVG riêng, SVG được embed trực tiếp trong CSS. Với nhiều icons nhỏ, điều này giảm đáng kể số requests. Caching hiệu quả: CSS file được cache, SVG đi kèm cũng được cache. Không cần quản lý nhiều files. Không FOUC: SVG load cùng CSS, không có flash of unstyled content. Critical CSS: Có thể inline CSS với SVG vào HTML cho above-the-fold content. Khi nào dùng: Icons nhỏ, decorative elements, background patterns. Khi nào không dùng: SVG lớn (> 5KB), SVG cần animate bằng JS, SVG cần accessible (cần inline trong HTML với title/desc).

Lợi ích khi sử dụng

  • Giảm HTTP requests - website load nhanh hơn
  • Cải thiện Core Web Vitals (LCP, FCP)
  • SVG được cache cùng CSS file
  • Không có flash of unstyled content
  • Dễ maintain - SVG và CSS ở cùng chỗ
  • Không cần quản lý nhiều asset files
  • Works offline sau khi CSS loaded
  • Tương thích mọi browsers hiện đại

Cách chuyển SVG sang CSS background-image

  1. 1Copy SVG code từ file hoặc design tool (Figma, Illustrator)
  2. 2Paste SVG code vào ô input bên trái
  3. 3Hoặc click 'Ví dụ' để load sample SVG
  4. 4Xem preview SVG gốc và trên các màu nền khác nhau
  5. 5Kiểm tra SVG hiển thị đúng trên cả nền sáng và tối
  6. 6Copy 'URL Encoded' output (recommended, nhẹ hơn)
  7. 7Hoặc copy 'Base64 Encoded' nếu cần compatibility
  8. 8Hoặc copy 'CSS Class' hoàn chỉnh để dùng ngay
  9. 9Paste vào CSS file của bạn

URL Encoded vs Base64 - Nên dùng cái nào?

URL Encoded: Encode các ký tự đặc biệt (<, >, #, etc.) thành %XX format. Ưu điểm: Nhẹ hơn Base64 khoảng 20-30%. Human-readable (có thể đọc SVG trong CSS). Dễ debug. Nhược điểm: Một số browsers rất cũ có thể không support. Base64 Encoded: Convert binary thành ASCII string. Ưu điểm: Compatibility cao với tất cả browsers. Ít edge cases. Nhược điểm: Tăng size 33% so với original. Không readable. Recommendation: Dùng URL encoded cho projects hiện đại. Dùng Base64 nếu cần support IE cũ hoặc gặp issues với URL encoded.

Best practices khi dùng SVG trong CSS

Optimize SVG trước: Dùng SVGO hoặc tool SVG Optimizer của chúng tôi để giảm size. Remove comments, metadata, unnecessary attributes. Giữ SVG nhỏ: Chỉ inline SVG < 5KB. SVG lớn hơn nên dùng external file với proper caching. Đảm bảo xmlns: SVG trong data URI cần xmlns='http://www.w3.org/2000/svg'. Tool tự động thêm nếu thiếu. Test trên nhiều backgrounds: SVG với stroke='currentColor' sẽ không hoạt động trong CSS background. Đảm bảo colors được hardcode. Accessibility: SVG trong CSS background không accessible cho screen readers. Dùng cho decorative elements only. Cho meaningful icons, inline SVG trong HTML với proper ARIA.

Sử dụng CSS custom properties với SVG

Một hạn chế của SVG trong CSS background là không thể thay đổi colors dynamically. Workaround: Tạo multiple versions với different colors. Dùng CSS mask-image thay vì background-image (cho single-color icons). Ví dụ với mask-image: .icon { background-color: currentColor; mask-image: url('data:image/svg+xml,...'); mask-repeat: no-repeat; mask-position: center; mask-size: contain; } Với cách này, icon sẽ inherit color từ parent element. Lưu ý: mask-image cần prefix -webkit- cho Safari.

Câu hỏi thường gặp (FAQ)

URL encoded hay Base64 tốt hơn?

URL encoded được recommend cho hầu hết cases vì nhẹ hơn 20-30% và human-readable. Base64 chỉ cần khi support browsers rất cũ (IE < 9) hoặc gặp edge cases với URL encoded. Cả hai đều được support bởi tất cả browsers hiện đại.

Tại sao SVG không hiển thị trong CSS?

Nguyên nhân phổ biến: Thiếu xmlns attribute - tool tự động thêm nhưng check lại. Quotes không đúng - data URI cần double quotes bên ngoài, single quotes bên trong SVG. SVG syntax error - validate SVG trước. Colors dùng # không được encode - # phải thành %23.

Có thể thay đổi màu SVG trong CSS không?

Không trực tiếp. SVG trong background-image là static image. Workarounds: Tạo multiple SVG với different colors. Dùng CSS mask-image thay vì background-image (icon sẽ inherit currentColor). Dùng CSS filters để shift colors (hạn chế).

SVG bao nhiêu KB thì nên inline?

Rule of thumb: < 5KB nên inline, > 5KB nên external file. Lý do: Inline tăng CSS file size, ảnh hưởng caching. Nhiều SVG nhỏ inline tốt hơn 1 SVG lớn. External SVG có thể lazy load. Luôn optimize SVG trước khi inline.

Làm sao để SVG responsive trong CSS background?

Dùng background-size: contain hoặc cover. contain: SVG fit trong container, giữ aspect ratio. cover: SVG cover toàn bộ container, có thể bị crop. Kết hợp với background-position: center để center SVG.

SVG có animation có dùng được không?

Không. SVG trong CSS background-image là static. Animations (SMIL hoặc CSS) sẽ không chạy. Nếu cần animated SVG, phải inline trong HTML hoặc dùng <img> tag (SMIL only, không CSS animation).

Tại sao cần preview trên nhiều màu nền?

SVG có thể có transparent areas hoặc colors tương tự background. Preview trên trắng, xám, đen giúp: Kiểm tra transparency hoạt động đúng. Đảm bảo SVG visible trên cả light và dark themes. Phát hiện missing fills hoặc strokes.

Tool có upload SVG lên server không?

Không. Toàn bộ xử lý diễn ra 100% trên browser bằng JavaScript. SVG code không được gửi đi đâu cả. An toàn để dùng với proprietary designs hoặc client work.

Từ khóa liên quan

svg to csssvg background imageinline svg csssvg data urisvg to base64svg url encodecss background svgembed svg in csssvg to css converterdata uri generatorsvg inline cssbackground-image svg

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook