我知道有类似的问题,但我的是有点特别的。 在带有jQuery Mobile的PhoneGap应用程序中,我想在div中设置另一个图像,图像具有相同的宽度和高度。更小的div中的另一个图像上的图像
我需要在AJAX请求后用Javascript/jQuery设置图像。 div的宽度小于图像的宽度,所以我使用overflow:hidden
,并通过图像margin: 0 -100%
,但这种方式只有第一个图像设置为中间,第二个 低于第一个。
我试图与position:absolute
和top:-(firstImageHeight)
具有相同的结果。
CSS:
#imgdiv{
overflow: hidden;
text-align: center;
margin-left: auto;
margin-right: auto;
max-width: 100%;
vertical-align: middle;
height: 90%;
position: relative;
}
的JavaScript:
var html= "<img src=" + obj.file + " id=" + "imageID" + " />";
html += "<img src=" + obj.file + " id=" + "maskID" + " />";
$('#imgdiv').html(html);
$("#imageID").css({"height":"100%", "margin":"0 -100%","z-index":"1"});
var imgHeight = $("#imageID").get(0).height;
$("#maskID").css({"height":"100%", "margin":"0 -100%","z-index":"3","position":"absolute", "top":-(imgHeight)});
你能表现出一定的小提琴吗? – 2014-09-05 07:19:21
如果你想要屏蔽底部图像,可以考虑使用[CSS masks](http://www.html5rocks.com/en/tutorials/masking/adobe/)。它在移动浏览器中似乎相当[广泛支持](http://caniuse.com/#search=mask),并可避免整个分层问题。 – martineno 2014-09-05 08:08:54
@martineno:我可以在.jpg和.png图片中使用它吗? – 2014-09-05 08:45:15