三角這是真正的CSS-挑戰,我不認爲這是可能的:圖像裁剪作爲網頁
我做了一些白色css
三角形。當你懸停在一個三角形上時,白色三角形應該變成一張像三角形一樣裁剪的照片。我做了一個的jsfiddle吧:
任何幫助表示讚賞
三角這是真正的CSS-挑戰,我不認爲這是可能的:圖像裁剪作爲網頁
我做了一些白色css
三角形。當你懸停在一個三角形上時,白色三角形應該變成一張像三角形一樣裁剪的照片。我做了一個的jsfiddle吧:
任何幫助表示讚賞
您可以使用SVG來實現這種效果:http://jsfiddle.net/xTd6Y/4/
<div id="image-wrapper">
<svg id="svg-1" class="clip-svg">
<rect class='svg-background' width="300" height="300" fill="#ffffff" />
<image id="img-1" class='svg-image' width="300" height="300" xlink:href="http://lorempixel.com/300/300" />
</svg>
<svg id="svg-2" class="clip-svg">
<rect class='svg-background' width="300" height="300" fill="#ffffff" />
<image id="img-2" class='svg-image' width="300" height="300" xlink:href="http://lorempixel.com/300/301" />
</svg>
<svg id="svg-3" class="clip-svg">
<rect class='svg-background' width="300" height="300" fill="#ffffff" />
<image id="img-3" class='svg-image' width="300" height="300" xlink:href="http://lorempixel.com/300/302" />
</svg>
</div>
<svg id="svg-defs">
<defs>
<clipPath id="clip-triangle">
<polygon points="0, 200 100, 0 200, 200"/>
</clipPath>
</defs>
</svg>
CSS
body {
background-color: #e0e0e0;
}
#image-wrapper {
position: relative;
}
.svg-background, .svg-image {
clip-path: url(#clip-triangle);
}
.svg-image {
visibility: hidden;
}
.clip-svg .svg-image:hover {
visibility: inherit;
}
/* size and positioning */
svg.clip-svg {
position: absolute;
height: 250px;
width: 250px;
}
#svg-1 {
top: 110px;
left: 50px;
}
#svg-2 {
top: 40px;
left: 140px;
}
#svg-3 {
top: 160px;
left: 250px;
}
剪切路徑在svg#svg-defs中定義,並且可以b e設置爲任何你喜歡的。
圖像屬性對js和css可見/可訪問。 您可以將剪輯路徑的任何HTML元素的
myElement {
clip-path: url(#clip-triangle);
}
CSS但這只是在Firefox可靠到目前爲止,我可以告訴。
注:解決方案只在FF和Chrome測試
注:小編輯從SVG移動:hover
到嵌入圖像,與懸停引發外界的剪裁區域
這當然是一個很好的解決方案!對於瀏覽器兼容性,我將使用後備。謝謝! – woutvdd
np。我概述的主要方法應該適用於所有新瀏覽器。這是最後一段,這是更清潔和更好,只有在FF –
再次瞥了一眼,發現與懸停邏輯錯誤。固定。 http://jsfiddle.net/xTd6Y/4/ –
艱難的一個糾正問題。但你可以通過反轉透明度並將其當作剪輯區域來對待它:jsfiddle.net/b4tGd/1 –
幾乎是,Dom Day。但我身體的背景是背景圖像。所以你可以看到裁剪區域。 – woutvdd