如果你想知道網站是怎麼做的,那就是:
的z索引沒有改變......不透明度是。最初,文本和圖像是可見的,但不透明度爲0.您看到的文本實際上是在下面的svg,同一圖像和文本被敲除。當你將鼠標懸停在包含這三樣東西(文字,IMG,SVG)的DIV,文本和圖像的不透明度設置爲1
下面是使用例如標記的一部分這一概念的工作示例。 使svg文本與真實文本對齊的關鍵是文本x和y的定位。例如:<text x="168" y="217" id="knockout" fill="white">Chicago</text>
我估計它,你會想使它準確。
https://jsfiddle.net/jbmy9s9m/4/
<div class="container">
<div class="words" id="p1">
<h3>Chicago</h3>
<img class="hover-pics" src="http://i.imgur.com/XV7wrRI.jpg" width="600" height="402" alt="picture 1"/>
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" class="svgMask1" width="600" height="402" viewBox="0 0 600 402"><defs><mask id="maskID0"><text x="168" y="217" id="knockout" fill="white">Chicago</text></mask></defs><title>Chicago</title><desc>Chicago</desc>
<image style="mask:url(#maskID0);" width="600" height="402" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://i.imgur.com/XV7wrRI.jpg"></image></svg>
</div>
<div class="words" id="p2">
<h3>Cambridge</h3>
<img class="hover-pics" src="http://i.imgur.com/R1zVKKL.jpg" width="600" height="400" alt="picture 2"/>
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" class="svgMask2" width="600" height="400" viewBox="0 0 600 400"><defs><mask id="maskID0"><text x="125" y="225" id="knockout" fill="white">Cambridge</text></mask></defs><title>Chicago</title><desc>Chicago</desc>
<image style="mask:url(#maskID0);" width="600" height="400" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://i.imgur.com/R1zVKKL.jpg"></image></svg>
</div>
</div><!--END OF CONTAINER-->
我不明白你想要在這裏實現什麼樣的影響。我看着oudolf.com,我找不到任何圖像在懸停時消失/重現。你能否添加一些(鏈接到)圖像? – jaunt
如果你想像你所指的網站那樣做,它們會改變不透明度,而不是z-index ......你可以在下面看到我的答案。 –