使用CSS将图像的一部分灰显

kun*_*nde 5 css image filter

我试图将图像的一部分变灰(左右两条纹).有没有办法只用CSS做到这一点?

我知道我可以使用滤镜(即filter: grayscale(100%)),但我不希望整个图像都是灰色的.

Pau*_*e_D 8

纯CSS解决方案,没有额外的标记

JSFIDDLE DEMO

HTML

<div class="image-container">
    <img class="image-grey" src="http://placekitten.com/200/150" />
</div>
Run Code Online (Sandbox Code Playgroud)

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;
}
Run Code Online (Sandbox Code Playgroud)