Как я могу навечно работать с прозрачными полигонами SVG?Наведение курсора на прозрачные SVG
В приведенном ниже коде, вы увидите, что второй треугольник не легко признать :hover
(и она не полностью, когда stroke
атрибут удаляется или none
«d). В третьем треугольнике наведение начинает работать с прозрачностью, но только рядом с текстом.
<html><head><style>
body { background-color: Green }
polygon:hover {
fill:Red;
}
g:hover polygon {
fill:Red;
}
</style></head><body>
<svg width="300px" height="600px" viewBox="0 0 100 200" xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon fill="white" stroke="black" stroke-width="0.5px" points="0,0 100,0 100,100 0,0" />
<polygon fill="none" stroke="black" stroke-width="0.5px" points="0,0 0,100 100,100 0,0" />
<g>
<polygon fill="none" stroke="black" stroke-width="0.5px" points="0,100 100,100 100,200 0,100" />
<text x="50" y="150" font-family="Verdana" font-size="30">hi</text>
</g>
</svg>
</body></html>
Я подтвердил это по Chrome, Firefox и Safari. Любые идеи (которые будут работать в большинстве браузеров)?
Brilliant. Простое исправление показывает мне, что я просто задал вопрос RTFM. Какой ваш любимый ресурс для исследования элементов SVG W3 и поиска атрибутов, которые делают то, что вы видите? – enfascination
Я не уверен, что это действительно RTFM. У меня была та же проблема, и мне потребовалось некоторое время, чтобы найти простое решение, но, возможно, я еще не прочитал это руководство :) [MDN] (https://developer.mozilla.org/en/docs/Web/ SVG) является ресурсом всех целевых веб-технологий. [Sara Soueidan [(https://sarasoueidan.com/articles/) также имеет несколько хороших статей. –
Это то, для чего предназначены указатели-события. Для этого не используйте заливку. Непрозрачность стоит ресурсов и замедляет вашу страницу и истощает батарею ваших потребителей. Плюс, иногда у вас нет полного контроля над разметкой. Использование указателей-событий - это чистый CSS и рекомендуемый способ сделать это. –