Właśnie opracowałem znacznie łatwiejsze rozwiązanie. (Tak, wiem, że to stare pytanie, ale ktoś badający ten sam problem może uznać je za przydatne).
Używałem pliku SVG o nazwie hamburger.svg. Spojrzałem na to za pomocą edytora tekstu i nie mogłem znaleźć niczego, co ustawiałoby kolor dla trzech linii - domyślam się, że domyślnie jest to czarny, ponieważ z pewnością jest to zachowanie, które otrzymuję - więc po prostu dodałem parametr „obrys” do definicja SVG. To nie DOKŁADNIE zadziałało - granice trzech linii miały wybrany przeze mnie kolor (biały), ale reszta linii była nadal czarna, więc dodałem również parametr „wypełnienie”. I to załatwiło sprawę!
Oto kod oryginalnego pliku hamburger.svg w całości:
<?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>
A oto kod nowego pliku SVG po jego edycji i zapisaniu jako 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>
Jak widać, po przewinięciu w prawo, dodałem tylko:
stroke="white" fill="white"
na sam koniec ścieżki. Inną rzeczą, którą musiałem zrobić, była zmiana nazwy pliku hamburgera w HTML. Żadnego bałaganu z CSS i nie ma potrzeby szukania kolejnej ikony.
Spokojnie! Możesz to naśladować, aby zrobić hamburgera w dowolnym kolorze.