Tôi vừa phát triển một giải pháp dễ dàng hơn đáng kể. (Vâng, tôi biết đây là một câu hỏi cũ nhưng ai đó nghiên cứu vấn đề tương tự có thể thấy điều này hữu ích.)
Tôi đang sử dụng SVG có tên là hamburger.svg. Tôi đã xem xét nó bằng trình soạn thảo văn bản và không thể tìm thấy bất kỳ thứ gì đang đặt màu cho ba dòng - tôi đoán nó mặc định là màu đen vì đó chắc chắn là hành vi tôi nhận được - vì vậy tôi chỉ cần thêm một tham số "nét vẽ" vào định nghĩa của SVG. Điều đó không hiệu quả QUITE - đường viền của ba dòng là màu tôi chọn (trắng) nhưng phần còn lại của dòng vẫn là màu đen nên tôi cũng đã thêm thông số "điền vào". Và đó đã thành công!
Đây là mã cho toàn bộ hamburger.svg ban đầu:
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="32px" id="Layer_1" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z"/></svg>
Và đây là mã cho SVG mới sau khi tôi chỉnh sửa nó và lưu nó thành hamburger_white.svg:
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="32px" id="Layer_1" style="enable-background:new 0 0 32 32;" version="1.1" viewBox="0 0 32 32" width="32px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z" stroke="white" fill="white"/></svg>
Như bạn có thể thấy nếu bạn cuộn qua bên phải, tất cả những gì tôi đã làm là thêm:
stroke="white" fill="white"
đến cuối con đường. Điều khác tôi phải làm là thay đổi tên tệp của bánh hamburger trong HTML. Không gây rối với CSS và không cần theo dõi biểu tượng khác.
Dễ thương! Bạn có thể bắt chước điều này để làm cho chiếc bánh hamburger của bạn có bất kỳ màu nào bạn thích.