html - 如何根据用户是在桌面浏览器还是移动浏览器上访问,在 css 中指定不同的图像

标签 html css mobile web media-queries

只是关于移动设备的 css 的问题,

我的网站上有一张 1260 像素宽的图片,当我在手机上查看它时,它扭曲了网站,因为网站的其余部分基于 960 像素的布局。

我已经为移动设备将这些图像设置为 960 像素宽,但是我如何在 css 中指定如果它是移动设备则使用移动优化图像而不是常规网站上的图像。

所以基本上,如果用户在桌面计算机上访问该网站,它将显示 1260 像素的图像

如果他们在手机上访问该网站,它将显示 960 像素的图像

有什么想法吗?

最佳答案

我不确定你是否想要 JS,如果你想要 CSS3,我决定回答你的问题,试试这个:

HTML:

<img src="image.jpg"
     data-src-960px="image-960px.jpg"
     data-src-1260px="image-1260px.jpg"
     alt="">

CSS:

 @media (min-device-width:320px) {
        img[data-src-960px] {
            content: attr(data-src-960px, url);
        }
    }

    @media (min-device-width:960px) {
        img[data-src-1260px] {
            content: attr(data-src-1260px, url);
        }
    }

jQuery 版本:

 $(document).ready(function() {

 function imageresize() {
 var contentwidth = $('#content').width();
 if ((contentwidth) < '960'){
 $('.imageclass').attr('src','image-960px.jpg');
 } else {
 $('.imageclass').attr('src','image-1260px.jpg');
 }
 }

 imageresize();//Activates when document first loads    

 $(window).bind("resize", function(){
 imageresize();
 });

 });

关于html - 如何根据用户是在桌面浏览器还是移动浏览器上访问,在 css 中指定不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632486/

相关文章:

css - Google webfont Lato 100 和移动版 Safari

css - 响应式 Wordpress 导航栏 - 附加 CSS

javascript - JQM 1.4.0 上的自定义转换设置出现 "has no method ' 转换 '"错误?

asp.net - 如何确保网站不是从缓存中加载的

javascript - 如何让输入的数字中的数字增加数百

css - chrome padding percentage + width percentage 不相加

javascript - 在手机上点击 'Go' 时停止表单提交

php - 将网站重定向到移动网站以及从移动网站重定向到桌面网站?

php - 如何将图像标题放在菜单和部分上?

javascript - 使用 Javascript 在网页上旋转图像不起作用