ฉันเพิ่งพัฒนาโซลูชันที่ง่ายขึ้นมาก (ใช่ฉันรู้ว่านี่เป็นคำถามเก่า แต่มีคนค้นคว้าปัญหาเดียวกันนี้อาจพบว่ามีประโยชน์)
ฉันใช้ SVG ชื่อ hamburger.svg ฉันดูมันด้วยโปรแกรมแก้ไขข้อความและไม่พบสิ่งที่กำหนดสีสำหรับสามบรรทัดฉันเดาว่าค่าเริ่มต้นเป็นสีดำเพราะนั่นเป็นพฤติกรรมที่ฉันได้รับอย่างแน่นอนดังนั้นฉันจึงเพิ่มพารามิเตอร์ "เส้นขีด" ลงใน คำจำกัดความของ SVG มันใช้ไม่ได้ผลเส้นขอบของทั้งสามเส้นเป็นสีที่ฉันเลือก (สีขาว) แต่ส่วนที่เหลือของบรรทัดยังคงเป็นสีดำดังนั้นฉันจึงเพิ่มพารามิเตอร์ "เติม" ด้วย และนั่นก็เป็นเคล็ดลับ!
นี่คือรหัสสำหรับ hamburger.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"/></svg>
และนี่คือรหัสสำหรับ SVG ใหม่หลังจากที่ฉันแก้ไขและบันทึกเป็น 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>
อย่างที่คุณเห็นว่าคุณเลื่อนไปทางขวาหรือไม่ทั้งหมดที่ฉันทำคือเพิ่ม:
stroke="white" fill="white"
ไปจนสุดเส้นทาง สิ่งอื่นที่ฉันต้องทำคือเปลี่ยนชื่อไฟล์ของแฮมเบอร์เกอร์ใน HTML ไม่ต้องยุ่งกับ CSS เลยและไม่ต้องติดตามไอคอนอื่น
Easy-peasey! คุณสามารถเลียนแบบสิ่งนี้เพื่อทำให้แฮมเบอร์เกอร์ของคุณมีสีตามที่คุณต้องการ