我有2张图片 - 一张是主图像,另一张像我想要放在主图像顶部的相框.相框图像是一个透明中心的png,因此主图像显示出来.
图像的尺寸很重要 - 内部主图像必须小于框架,因此只能通过中心看到:
main.jpg = 367 x 550
frame.png = 405 x 597
我以为我有以下代码...
<div style="background-image:url('/main.jpg') no-repeat scroll center center transparent;">
<img style="width:100%; max-width:100%;" src="/frame.png">
</div>
Run Code Online (Sandbox Code Playgroud)
...直到你在手机上看到屏幕才能正常工作; frame.png因为我将宽度设为100%而延伸,但背景main.jpg不会随之延伸.
我需要设计流畅,所以我需要拉伸图像.
有没有办法确保背景拉伸与主图像相同?
我已经尝试了各种不同的方法来实现这一点,绝对将帧定位在浮动在主图像上的div等,但是当我这样做时,我无法使主图像水平和垂直地居中显示.
有没有办法实现我想要的东西而不诉诸javascript?
我顺便使用2张图片的原因是文件大小.我需要主图像为jpg所以我可以保持它小,但我还需要框架上的透明度,所以必须是png :(
Wou*_*and 13
我通常使用这个:
HTML:
<div id="frame">
<img id="myImg" src="main.jpg">
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#frame {
position: relative;
width: 597px;
height: 405px;
background-image: url(frame.png);
background-position: center;
background-size: cover; }
#myImg {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: block;
margin: auto; }
Run Code Online (Sandbox Code Playgroud)
这适用于所有具有固定尺寸的图像和其他元素,或设置的最大宽度和最大高度.
我希望这适合你:)
我通常使用另一个绝对定位的图像作为背景。喜欢:
<div>
<img class="background-img" width="100%" height="100%" style="position:absolute; top:0; left:0">
<img class="second-img" width="100%" height="100%" />
<!-- Then do the positioning with classes -->
</div>
Run Code Online (Sandbox Code Playgroud)
试一试,希望它能如你所愿