我想知道是否可能让我的首页仅加载专为移动用户设计的图片。我知道可以使用javascript实现,但我想知道是否可以仅使用CSS实现相同的效果。我尝试进行了一些研究,但找不到我需要的内容。我不是指根据屏幕大小调整图片大小,而是加载适用于移动设备的图片。
我想知道是否可能让我的首页仅加载专为移动用户设计的图片。我知道可以使用javascript实现,但我想知道是否可以仅使用CSS实现相同的效果。我尝试进行了一些研究,但找不到我需要的内容。我不是指根据屏幕大小调整图片大小,而是加载适用于移动设备的图片。
媒体查询
以不同的屏幕分辨率
更改background-image
,如下所示:
div{
width:100%;
height:400px;
background:url('http://placehold.it/350x150/f22/fff');
background-size:100% 100%;
}
@media screen and (max-width : 480px){
div{
background:url('http://placehold.it/480x150/f12/fff');
background-size:100% 100%;
}
}
@media screen and (max-width : 320px){
div{
background:url('http://placehold.it/320x150/e12/fff');
background-size:100% 100%;
}
}
<div></div>
请查看这个jsFiddle示例。
是的,这是可以实现的。您可以使用媒体查询。下面是一个CSS示例:
#yourimage {
display: none;
}
@media (max-width: 500px) {
#yourimage {
display: block;
}
}
display: none;
,新图片设置为 display: block;
。如果您不确定如何实现它,我已经在帖子中编辑了一个 JSFiddle。 - NullDev您可以使用媒体查询来根据屏幕尺寸应用类。
#img {
display: none;
}
/* Large Devices, Wide Screens */
@media only screen and (max-width : 1200px) {
}
/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {
}
/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
}
/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {
#img{
display: block;
}
}
/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {
}
<div id="image"></div>
CSS:
#image {
position: relative;
width: 400px;
height: 400px;
background-image:url('/path/to/image');
background-size: cover;
background-repeat: no-repeat;
}
然后应用媒体查询:
@media only screen and (max-width : 480px) {
#image{
background-image:url('/path/to/mobile/image');
}
}