我的客户想要的可能实际上是不可能的 - 他们希望全屏幕背景图像不会裁剪,并保留其尺寸。他们愿意接受白色空间,但他们希望图像尽可能地填满屏幕,而不会在任何轴上进行裁剪。我能够找到能够实现真正的整页背景的漂亮脚本,但他们不会接受任何图像裁剪。有任何想法吗?全屏幕背景图像(有点) - 没有裁剪?
回答
这不是不可能!你完全可以做到这一点。使用JQuery来查找浏览器视口的高度和宽度,并且瞧!将背景图像设置为该尺寸。如果您需要维护方面,请使用JQuery算法来计算宽度/高度,然后使用该比率来针对实际尺寸的比例进行基准测试,并且如果它更高/更低,则将背景图像的高度/宽度设置为100%,而其他尺寸不管实际比例会如何计算。
如果你的客户不关心滚动条就可以按照第三次尝试下这个指南: http://css-tricks.com/766-how-to-resizeable-background-image/并设置为任何需要的HTML/body元素的最小高度要根据背景的宽度图片。我希望这一切都能帮助你找到想要做什么的想法。
我尝试了css-tricks(第三个)中列出的CSS技术,但它在任何轴不受限制的情况下裁剪。我所尝试的所有技术都需要裁剪。我想我需要使用Jquery方法..试图避免它,因为我并不那么出色。你熟悉的那些使用jQuery的已发布方法? – lbholland
使用JQuery,您可以简单地使用$(window).width(),我相信您可以使用相同类型的函数来获取高度。使用这两个来查找浏览器窗口的纵横比,然后从那里选择背景图像的哪个(高度或宽度)应该最大化以填充屏幕,然后设置背景图像的宽度。我不记得背景图片的高度是否可以在CSS中设置,但是您可以将div元素设置为您的“body”,并将其高度设置为浏览器heigt并将其设置为显示:fixed并保留它为z -index低于其他一切 – victoroux
另外,正如我所说的,如果你的客户不关心有没有俗气的滚动条,你可以将HTML/body的最小高度设置为通过滚动显示整个图像所需的高度。但是,您可能还需要先使用JQuery来计算浏览器的宽度 – victoroux
HTML:
<img id="bg" src="whateves.jpg"/>
你可能想使用jquery中心在CSS
#bg { display:block; margin:auto; }
图像:
$(window).load(function(){
var windowRezize = function() {
var windowHeight = $(window).height(),
bg = $('#bg'),
bgHeight = bg.height();
console.log(windowHeight);
console.log (bgHeight);
bg.height($(window).height());
bg.css('opacity', '1');
};
windowRezize();
$(window).resize(function(){
console.log('resized');
windowRezize();
})
});
- 1. CSS - 完全不裁剪的全屏幕背景图像
- 2. 裁剪图像C#没有背景
- 3. 已下载的全景背景图像被裁剪为屏幕大小
- 4. Android背景图像裁剪
- 5. 裁剪图像像DIV背景
- 6. 在屏幕边缘裁剪图像html
- 7. 如何裁剪背景图像
- 8. 裁剪图像与模糊的背景
- 9. 使用CSS裁剪背景图像
- 10. 如何裁剪背景图像在CSS
- 11. 裁剪背景图像雪碧
- 12. CSS背景图像裁剪问题
- 13. 带有最大宽度的全屏幕背景图像
- 14. 裁剪UIImage屏幕截图
- 15. 裁剪大背景图片
- 16. 在OpenCV中裁剪全景图像
- 17. 在较小的屏幕上移动背景图像的裁剪区域
- 18. 带有白色背景的PHP裁剪图像
- 19. 背景图像没有完全显示
- 20. 背景图像没有完全伸展
- 21. 背景大小屏幕没有图像失真
- 22. 检测屏幕高度和裁剪全尺寸图像
- 23. 有没有办法跳过Sincerely Ship库中的裁剪屏幕?
- 24. 图像裁剪C#没有.net库
- 25. JCrop没有正确裁剪图像
- 26. 没有复制的裁剪图像
- 27. 我的图像没有被剪裁
- 28. 来自图像对象的NativeScript全屏幕背景图像
- 29. 全屏幕背景图像+旋转图像?
- 30. ROR:全屏幕背景图片
作出这样的瓷砖背景图像? – stealthyninja
什么关于CSS背景封面? – evuez