通常我们有框架元素和它的孩子这样:
<div id="frame">
<img src="xyz" />
</div>
with css:
#frame {overflow:hidden;}
但如果在这种情况下我需要完全相同的功能怎么办:
<div id="frame">
</div>
<img src="xyz" />
示例: http://jsfiddle.net/t7EgU/2/
这是当前的结果和我期望的结果: http://i44.tinypic.com/hs0yv8.jpg
有办法解决这个问题吗?
thx:)
答案 0 :(得分:1)
您可以将图像设置为
,而不是拖动divbackground-image
并设置
background-position
在div中移动图像。
在这个例子中,我的照片元素不可见,我创建的“窗口”与之匹配
答案 1 :(得分:0)
如果您只需要支持现代浏览器,则可以使用:not(:empty)
,如此
#frame:not(:empty) {
overflow: hidden;
}
一个简单的用法演示:http://jsbin.com/egatij/1/edit
答案 2 :(得分:0)
或使用jquery:
if ($('#frame').children().length != 0 ))
$(this).css('overflow': 'hidden');
答案 3 :(得分:0)
查看您发布的照片,这可能是一个简单的z-index问题,如果您希望框架位于顶部,则为其提供更高的z-index。
例如:
#frame { position:relative; z-index: 2;}
img { position:relative; z-index:1;}
然后看着你添加了问题的jsfiddle,它使用了一个png,所以也许图像本身有轻微的不透明度。也许如果您以100%不透明度重新保存图像,您可能会获得您期望的实体框架。