我刚刚开发了一个相当简单的解决方案。 (是的,我知道这是一个老问题,但研究同一问题的人可能会发现这很有用。)
我使用的是名为 hamburger.svg 的 SVG。我用文本编辑器查看了它,找不到任何为三行设置颜色的东西——我猜它默认为黑色,因为这肯定是我得到的行为——所以我只是添加了一个“stroke”参数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>
这是我编辑并保存为 hamburger_white.svg 后新 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,也不需要追踪另一个图标。
简单易懂!你可以模仿这个,让你的汉堡包变成你喜欢的任何颜色。