我正在尝试做一些看似相对简单的事情,但经过大量的谷歌搜索和噱头,我似乎无法使其发挥作用。 我有一个svg多边形,我用它来将图像剪切成三角形。 目前它位于一个引导列中(带有一个标记)链接到一个锚点。 这个问题是div(square)都链接到锚点。
但是,我有一堆这些三角形相邻,所以我需要链接到锚点的区域仅限于多边形剪辑路径中的内容。
我试过了:
我怀疑这是实现我的目标的第三种选择的一些排列。
<div class="col-sm-4 portfolio-item dontwantpadding">
<a href="#portfolioModal3" class="portfolio-link" data-toggle="modal">
<div class='tri-up'>
<svg width="100%" height="100%" viewBox="0 0 100 87">
<clipPath id="clipTriangleUp">
<polygon points="0 87,100 87,50 0"/>
</clipPath>
<image clip-path="url(#clipTriangleUp)" preserveAspectRatio="none" width="100%" height="100%" xlink:href="http://placehold.it/1749x1510"/>
</svg>
</div>
</a>
</div>
我计划让svg路径从三角形过渡到圆圈,所以适应圆圈svg路径的东西是理想的。
非常感谢任何帮助!
答案 0 :(得分:3)
SVG可以有<a>
个元素。尝试将链接放在SVG中。
<div class="col-sm-4 portfolio-item dontwantpadding">
<div class='tri-up'>
<svg width="100%" height="100%" viewBox="0 0 100 87">
<clipPath id="clipTriangleUp">
<polygon points="0 87,100 87,50 0"/>
</clipPath>
<a id="svgtriangle"
xlink:href="#portfolioModal3" class="portfolio-link" data-toggle="modal">
<image clip-path="url(#clipTriangleUp)" preserveAspectRatio="none"
width="100%" height="100%"
xlink:href="http://placehold.it/1749x1510"/>
</a>
</svg>
</div>
</div>
希望您在Bootstrap找到data-toggle
时遇到任何问题。
<强>更新强>
好的,所以看起来Bootstrap似乎没有找到你的模态&#34; open&#34;自动链接,所以你需要在三角形中添加一个点击处理程序并自己打开模态。
var triangle = document.getElementById("svgtriangle");
triangle.addEventListener('click', function(evt) {
$('#myModal').modal('show');
});
答案 1 :(得分:0)
尝试仅在图像中移动标签并直接围绕图像。
<a><img src="foo" /></a>