首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剪裁css模糊背景

问剪裁css模糊背景
EN

Stack Overflow用户
提问于 2014-01-20 12:47:44
回答 2查看 277关注 0票数 2

我试图在背景图像上放置一个CSS3 webkit模糊,然后剪辑它(通过将它放在一个较小的父级中并设置overflow: hidden)。

不幸的是,当我这样做时,我的模糊效果只会出现在被剪裁的内容上,所以我的内容的边缘会明显地从模糊效果中“落后”(大概这是某种优化)。

示例html:

代码语言:javascript
复制
<div class="parent">
    <div class="child checkerboard"></div>
</div>

css:

代码语言:javascript
复制
.parent {
    width    : 100px;
    height   : 100px;
    position : relative;
    border   : 1px solid #000;
    overflow : hidden;
    margin   : 10px;
}

.child {
    -webkit-filter : blur( 5px );
    width          : 200px;
    height         : 200px;
    position       : absolute;
    top            : -60px;
    left           : -60px;
}

.checkerboard {
    background : url( 'http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Checkerboard_pattern.svg/220px-Checkerboard_pattern.svg.png' );
}

如果我使用的是<img>而不是CSS背景,它可以按预期工作( 小提琴 )。

不幸的是,在我的现场应用程序中,我无法轻松地切换到<img>标记,所以我正在试图找出如何使它与背景图像一起工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-20 16:45:09

不知道为什么或如何工作,这一点(至少在我的Chrome):

代码语言:javascript
复制
.child {
    -webkit-filter : blur( 5px );
    width          : 200px;
    height         : 200px;
    position       : absolute;
    top            : -60px;
    left           : -60px;
    -webkit-transform: rotate(0deg);
}

更新小提琴

票数 1
EN

Stack Overflow用户

发布于 2014-01-20 15:53:30

我让它工作的唯一方法就是在顶部放置一个绝对定位的剪裁面罩:

http://codepen.io/anon/pen/sjHEr

代码语言:javascript
复制
<div class="wrapper">
<div class="parent">
    <div class="child checkerboard"></div>
</div>
</div>

<div class=clip></div>

.clip {
  border:20px solid #FFF;
  width:80px;
  height:80px;
  position:absolute;
  top:10px;
  left:10px;
}

.parent {
    width    : 100px;
    height   : 100px;
    position : relative;
    border   : 1px solid #000;
    overflow : hidden;
    margin   : 10px;
}

.child {
    -webkit-filter : blur( 5px );
    width          : 200px;
    height         : 200px;
    position       : absolute;
    top            : -60px;
    left           : -60px;
}

.checkerboard {
    background : url( 'http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Checkerboard_pattern.svg/220px-Checkerboard_pattern.svg.png' );
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21234574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档