2016-06-30 10 views
4

CSS画像で画像をマスクするにはどうすればよいですか?オーバーレイ画像(形CSS)

参照画像

enter image description here

は、私はすでにCSSの境界線スタイルが、画像をオーバーレイすることはできないとの形状をしました。

CSS

#triangle-topleft { 
    width: 0; 
    height: 0; 
    border-top: 100px solid red; 
    border-right: 100px solid transparent; 
} 

答えて

3

オプション1 - クロム、Firefoxの、IE9 +

01でテストSVG

<svg width="100" height="100"> 
 
    <defs> 
 
    <pattern id="a" patternUnits="userSpaceOnUse" width="100" height="100"> 
 
     <image xlink:href="http://lorempixel.com/300/300" x="0" y="0" width="100" height="100" /> 
 
    </pattern> 
 
    </defs> 
 
    <polygon points="0,0 100,0 50,100" fill="url(#a)" /> 
 
</svg>

clip-path

.element { 
 
    display:inline-block; 
 
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%); 
 
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%); 
 
}
<div class="element"> 
 
    <img src="https://s3.amazonaws.com/uifaces/faces/twitter/ok/128.jpg" /> 
 
</div>

+0

おかげで、私は私の答えで述べたようにMozillaはクリップパス – Twinxz

+0

をサポートしていません...それはですソリューション。 –

+0

うん。ありがとう。 SVGの動作 – Twinxz

2

あなたがgradientsを使用することができます。ここではサンプルコードです:私はSVGを追加した理由

div { 
 
    width: 100px; 
 
    height: 100px; 
 
    background-image: linear-gradient(to bottom left, white 50%, transparent 0),   
 
    url('http://lorempixel.com/100/100'); 
 
}
<div></div>

Working fiddle

関連する問題