2015-01-17 2 views
0

Я работаю с zurb foudation и перескакиваю на svg, который находится внутри заголовка. Если svg находится под , тогда эффект roll over на svg не работает. но если я удалю либо тег раздела, либо атрибут data-topbar, он отлично работает. вы можете увидеть пример всех трех вариаций здесь: http://firefields.com/foundation-5.5.0/icon-issue.htmlsvg mouseover не работает в zurb foundation nav topbar

и это код SVG

<svg version="1.1" id="headTest" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve" > 

<defs> 
<mask id="Mask"> 
    <path fill="#ffffff" d="M25.4,12.7L15.3,28.6c0.2,0.2,0.4,0.4,0.6,0.5c0.4,0.2,0.7,0.4,1.2,0.5L27,13.9c-0.3-0.4-0.6-0.7-0.8-0.8 
     C25.9,12.9,25.7,12.8,25.4,12.7z"/> 
    <path fill="#ffffff" d="M14.3,25.9c0.3-0.2,0.6-0.3,0.8-0.4l1.5-2.3c-1,0.1-2.1,0.4-3.3,0.9c-2.1,1.1-4.2,3-5.8,5.4 
     c-0.5,0.7-0.8,1.4-1.1,2.1c0.5,0.7,0.9,1.2,1.5,1.8c0.4-0.9,0.8-1.9,1.4-2.8C10.6,28.5,12.4,26.8,14.3,25.9z"/> 
    <path fill="#ffffff" d="M20.3,37.6c1.6-2.5,2.5-5.3,2.5-7.8c0-1.7-0.4-3.2-1-4.3l-1.2,2.1c0.2,0.7,0.4,1.4,0.3,2.2 
     c0,2.1-0.8,4.6-2.2,6.7c-0.5,0.7-1,1.4-1.5,2c-2.8-0.7-5.3-1.9-7.6-3.6C9.2,35.6,9.1,36.3,9,37c2.6,2,5.6,3.2,8.8,3.7 
     c0.6-0.6,1.1-1.1,1.6-1.8l0,0c0,0,0,0,0.1,0C19.7,38.5,20,38.1,20.3,37.6z"/> 
    <path fill="#ffffff" d="M38.7,12c-0.8-1.7-2-3.3-3.3-4.6c-0.1,0.7-0.4,1.5-0.7,2.2c0,0,0,0.1,0.1,0.1l-0.1-0.1c-0.4,1-0.8,2-1.5,3 
     c-1.4,2.1-3.2,3.8-5,4.8c-0.7,0.3-1.3,0.6-1.9,0.7l-1.2,2.1c1.3,0.1,2.7-0.3,4.1-0.9c2.1-1.1,4.2-3.1,5.8-5.5 
     c0.5-0.7,0.8-1.4,1.1-2.1c0.3,0.5,0.6,0.8,0.7,1.3c4.5,8.9,0.9,19.7-7.9,24.2c-2.4,1.2-4.9,1.9-7.5,1.9c-0.5,0.7-0.9,1.4-1.5,2 
     c3.3,0.2,6.7-0.6,9.9-2.1C39.9,33.9,43.8,21.8,38.7,12z"/> 
    <path fill="#ffffff" d="M12.9,5c2.9-1.5,6-2.1,9.1-1.9c0.6-0.7,1.1-1.3,1.7-1.9c-3.8-0.5-7.8,0.1-11.6,2c-9.9,4.9-13.9,17-8.9,26.8 
     c1,2.1,2.4,3.9,4.1,5.5c0.1-0.7,0.4-1.5,0.7-2.1c-1.1-1.2-2.1-2.6-3-4.2C0.5,20.3,4,9.5,12.9,5z"/> 
    <path fill="#ffffff" d="M22.4,5.6c-1.6,2.5-2.5,5.3-2.5,7.8c0,1.4,0.2,2.6,0.7,3.5l1.4-2.2c-0.1-0.4-0.1-0.8-0.1-1.3 
     c0-2.1,0.8-4.6,2.2-6.7c0.7-1.1,1.4-2.1,2.1-2.8c2.6,0.8,5,2.1,7.1,4.1c0.3-0.8,0.5-1.6,0.5-2.2c-2.3-2-5-3.3-7.9-4 
     c-0.7,0.5-1.2,1-1.8,1.7c0.3,0.1,0.2,0-0.1,0C23.4,4,22.9,4.8,22.4,5.6z"/> 
</mask> 
</defs> 

<g mask="url(#Mask)"> 
<circle fill="#222222" class="icon-background-circle" cx="21" cy="21" r="21"/> 
<circle fill="#73e8eb" class="icon-foreground-circle" cx="21" cy="21" r="0"> 
    <animate attributeType="xml" attributeName="r" begin="hoverZone.mouseover" to="21" dur="0.15s" fill="freeze" /> 
    <animate attributeType="xml" attributeName="r" begin="hoverZone.mouseout" to="0" dur="0.15s" fill="freeze" /> 
</circle> 
</g> 

<rect id="hoverZone" x="0" y="0" width="42" height="42" fill-opacity="0" /> 

</svg> 

надеюсь, что вы можете помочь.

+0

тоже это, похоже, работает в firefox. кажется, проблема с хромом – firefields

ответ

1

Это не имеет никакого отношения к элементу <section>.

Когда SVG встроен через элемент <img>, анимация разрешена, но взаимодействие (например, события мыши) не является. Это касается соображений конфиденциальности.

Используйте вместо этого <object> или <embed>.

+0

Я изменил ответ на конфиденциальность, а не на безопасность. Никто не возьмет ваш браузер, но они могут понять, что вы делаете. –

+0

Безопасность вашей конфиденциальности;) –

+0

Спасибо, Роберт. На самом деле я использую только тег img, чтобы разработчики front-end могли создавать страницы. он вставляет код svg при отображении страницы. Я обновил ссылку и объяснение, чтобы показать проблему с тегом раздела. Прошу прощения за путаницу. – firefields

Смежные вопросы