对于网站,我需要能够根据用户的屏幕分辨率动态显示背景图片。
即当页面开始加载时,在 <head>
内一个小的 javascript 加载,它通过 css 将页面的背景设置为类似 http://example.com/backgrounds/beach_800x600
的东西其中 800 和 600 是通过 javascript 确定的屏幕分辨率。
我正在为最常见的屏幕分辨率创建各种调整大小的图像,这样对于大多数人来说,他们的屏幕分辨率将与现有图像完全匹配。如果没有进行精确匹配,例如,如果用户的屏幕分辨率为 AxB
对于没有现有图像的图像,将创建图像并将其大小调整为 AxB
在飞行中,并将送达。从那时起,任何拥有AxB
决议的人将提供该图像。
我的问题是:
1) 这是一种安全的方法吗?即我不想为自定义屏幕分辨率创建超过 50 个自定义大小的图像。用这种方法我能留在那个棒球场吗?使用此方法是否还有其他我应该注意的安全风险?
2) 我是否应该给它一个 50 或 100 像素的误差范围,所以如果有人的分辨率是 700x900,而我没有那个但我有 600x800 或我有 800x1000,那么我会提供那些现有的图像比创造新的?如果是这样,我应该将边距设置为 100 像素还是有更好的数字?
最佳答案
通过使用 CSS3 媒体查询和 background-size
属性,除了为了与过时的浏览器兼容之外,几乎不需要 JS。
Here's a link有关 background-size
的详细信息。此属性允许您以各种方式缩放图像,而不管用户的分辨率如何。有时这可能并不理想。
And so we have CSS3 Media Queries .有了这些,您可以针对某些分辨率(或高于和低于某些分辨率)并告诉浏览器您希望相应地显示哪个图像(甚至如何显示它,有或没有 background-size
还有)。
关于javascript - 根据屏幕分辨率显示自定义背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220065/