我想灰化圖像的一部分(左右兩個條紋)。有沒有辦法只用CSS來做到這一點?用CSS格式化圖像的一部分
我知道我可以使用過濾器(即filter: grayscale(100%)
),但是我不想整個圖像是灰色的。
我想灰化圖像的一部分(左右兩個條紋)。有沒有辦法只用CSS來做到這一點?用CSS格式化圖像的一部分
我知道我可以使用過濾器(即filter: grayscale(100%)
),但是我不想整個圖像是灰色的。
,沒有額外的標記純CSS解決方案
HTML
<div class="image-container">
<img class="image-grey" src="http://placekitten.com/200/150" />
</div>
CSS
.image-container {
position:relative;
display:inline-block;
}
.image-grey {
display:block;
-webkit-filter: grayscale(100%);
}
.image-container:after {
position:absolute;
content:"";
top:0;
left:50%;
width:50%;
height:100%;
background-image:url(http://placekitten.com/200/150);
background-position:top right;
}
把一個div放在它上面。
<div id="wrapper">
<img src="path/to/file.jpg" />
<div id="filter">
</div>
<style>
#wrapper {position: relative;}
#filter {
position: absolute;
top: 123px;
left: 123px;
width: 42px;
height: 42px;
background: rgba(255,0,0,0.5);
}
</style>
+1我只是在製作的jsfiddle這個(僅我用PlaceCage的過程:) http://jsfiddle.net/jM7S6/ –
@JasonSperske: ) – bjb568
當然,這並不會使圖像灰白,它會使那裏的顏色變暗。 http://jsfiddle.net/W4tY6/。但是,它可能就足夠了。 –
如果您確實希望使用灰階過濾器,你將需要在彼此的頂部有兩個圖像,一個與灰階過濾器應用,裁剪到你希望的大小。
<div class="image-container">
<img class="image-grey clip" src="http://placekitten.com/200/150" />
<img class="image-coloured" src="http://placekitten.com/200/150" />
</div>
和
.image-coloured {
z-index: 0;
position: absolute;
}
.image-grey {
z-index: 1;
position: absolute;
-webkit-filter: grayscale(100%);
}
.clip {
clip: rect(0px,60px,150px,0px)
}
這正是我所期待的。 – kunde
當我看到最終效果時,我發表了評論,但這不完全是我需要的(它只是一半)。我需要爲圖像添加兩條灰色條紋,而不僅僅是一條。我用這種技術嘗試不同的東西,但我找不到在右側添加另一條灰色條紋的方法。也許我想要做的事情需要用JavaScript或其他方式完成。 – kunde
快速更新JSFiddle與兩個條紋:http://jsfiddle.net/gmU9y/2/ –