部分应用css图像过滤器

时间:2014-03-06 20:53:32

标签: css

我想要做的是将css过滤器部分应用于具有背景大小封面的背景图像。看看http://jsfiddle.net/vFYFz/

<div id="grandparent">
    <div id="parent">
        <div id="child"></div>
    </div>
</div>

<div id="original">
</div>

#original {
    position: fixed;
    width: 100%; height: 100%;
    background-image: url('http://userserveak.last.fm/serve/_/96476693/Natural+Mystic+JPG.jpg');
    background-size: cover;
}

#grandparent {
    position: absolute;
    width: 33%; height: 100%;
    overflow-x: hidden;
    z-index: 1;
}

#parent {
    position: fixed;
    width: 100%; height: 100%;
}

#child {
    position: absolute;
    width: 100%; height: 100%;
    background-image: url('http://userserve-ak.last.fm/serve/_/96476693/Natural+Mystic+JPG.jpg');
    background-size: cover;
    -moz-filter: invert(100%);
    -webkit-filter: invert(100%);
    -o-filter: invert(100%);
    -ms-filter: invert(100%);
    filter: invert(100%);
}

过滤后的图像需要具有视口的宽度,以便遵循与原始相同的背景大小的封面,因此我将其放在100%宽度的固定元素中。我希望它遵守其祖父母绝对元素的溢出,以便我可以将滤镜仅应用于图像的左侧33%,但这不起作用。我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想切换“祖父母”和“父母”的位置:JS Fiddle

#grandparent {
    position: fixed;
    width: 33%; height: 100%;
    overflow-x: hidden;
    z-index: 1;
}

#parent {
    position: absolute;
    width: 100%; height: 100%;
}