如何显示多个设备的图像?

时间:2014-07-04 10:10:46

标签: html css

我有一个浮动横幅,我希望显示超过50%的大屏幕宽度和100%的小屏幕宽度(移动设备)。

图像有时非常小(我想在视网膜显示器上)。

如何改善我的代码,以便在视网膜显示屏,大屏幕和小型移动设备屏幕上正确显示?

在.css

.banner-sticky {
bottom: -2.5px;
left: 0px;
width: 100%;
text-align: center;
background: rgb(0, 0, 0) transparent;
background: rgba(0, 0, 0, 0);
/* filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";*/
}

.advert-img {
width: 50%
height: auto;
}
@media screen and (max-width: 380px) and (orientation: portrait) {
.advert-img {
width: 100%;
}
}

在.html文件中

<meta name="viewport" content="width=device-width, initial-scale=1.0">
.
.
.
<div id="sticky" class="banner-sticky" style="position: fixed;">
  <a id="ad-link" href=' #' ><span id="banner-ad"><img src=' foo.jpg' class="advert-img" /></a>
</div>


'<a id="ad-link" href=' + this.landingUrl + ' ><span id="banner-ad"><img src=' + this.imgSrc + ' class="advert-img" /></a>'

2 个答案:

答案 0 :(得分:0)

您可以使用CSS媒体查询来区分屏幕宽度,如下所示:

body {
  background: url(foo-small.jpg);
}
@media (min-width: 500px) {
  body {
    background: url(foo-medium.jpg);
  }
}
@media (min-width: 800px) {
  body {
    background: url(foo-large.jpg);
  }
}

为了实现这一点,您需要将图像设置为CSS中的背景,而不是<img>标记

答案 1 :(得分:0)

尝试对每个分辨率使用background-size css规则

body {
  background: url(foo-small.jpg);
}
@media (min-width: 500px) {
  body {
    background-size:50%;
  }
}
@media (min-width: 800px) {
  body {
    background-size:80%;
  }
}