【27前端】base标签带有href属性会让chrome里的svg元素url失效
一个chrome的问题,但具体原因不明。
触发条件:chrome浏览器base标签里href属性有值的时候
触发问题:svg里面的元素如果有用url的滤镜和模糊,则会失效,在firefox里和IE10没有发现这个问题。
正常状态:
有base标签且href里值为“.”的时候chrome里的状态:
测试代码:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>chrome bug</title> <style> #svg{ width:500px; height:500px; display:block; margin:20px auto; background-color:#000; } </style> <!--当href=""里面有值的时候填写的url都会失效--> <base href="." target="_blank"> <!--当href=""这样则不会--> <!--<base target="_blank">--> </head> <body> <svg id="svg"> <defs> <lineargradient id="blur1" x1="0%" y1="0%" x2="100%" y2="0%"> <stop offset="0%" style="stop-color:#FF0000;stop-opacity:0"></stop> <stop offset="100%" style="stop-color:#FF0000;stop-opacity:1"></stop> </lineargradient> <filter id="Gaussian_Blur"> <feGaussianBlur in="SourceGraphic" stdDeviation="3" /> </filter> </defs> <circle cx="200" cy="50" r="40" style="stroke:url(#blur1); filter:url(#Gaussian_Blur); stroke-width:10; fill:yellow; "/> <line x1="0" y1="0" x2="300" y2="300" style="stroke:url(#blur1); stroke-width:2;" /> </svg> </body> </html>
具体原因不明,希望有大神赐教。