网页中到底怎样根据不同分辨率设置网页背景图片铺满屏幕?我的一种想法是用JS读取屏幕分辨率。求老师指教

然后根据屏幕分辨率设置不同大小的图片以适应屏幕。我知道这个函数在JS中是screen。可是具体代码怎么写呢?用JS读取CSS设置的body{backgound-image... 然后根据屏幕分辨率设置不同大小的图片以适应屏幕。我知道这个函数在JS中是screen。可是具体代码怎么写呢?用JS读取CSS设置的body{backgound-image:url(..)}。求老师指教!就是想用这个方法实践一下,学习一下! 展开
 我来答
lyz810
推荐于2016-09-26 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31777
前端开发工程师

向TA提问 私信TA
展开全部
获取浏览器可见区高度(滚动条宽度以排除)
document.documentElement.clientHeight
获取浏览器可见区宽度(滚动条宽度以排除)
document.documentElement.clientWidth

获取文档高度(建议用浏览器可见区域高度)
document.body.clientHeight
用screen获得的为屏幕分辨率,只有用户在全屏看网页时网页大小才等于屏幕的分辨率
设置body的背景
document.body.style.backgroundImage=‘图片地址’

这种方法是比较精确的控制方法,可以根据获取到的相关大小来控制背景图片
这种方法的好处就是:如果你的同一个背景图片有很多不同的分辨率,在页面呈现上会更美观
缺点是:必须根据多种不同大小制作多张背景图片,且调用哪张图片不易确定
用绝对定位设置背景的方式的好处是:方便代码的书写
绝对定位缺点是:背景图片要大而清晰,否则在大尺寸屏幕上会出现背景图片模糊的情况,且若图片比例与屏幕比例不同(如4:3和16:9),图片会变形
更多追问追答
追问
您好,谢谢您耐心的解答。您说用JS调取的缺点是会不知道调用哪张图片?怎么会不知到呢?写多条if语句判断屏幕分辨率然后再调用相应的图片,把每张不同分辨率的图片存成不一样的名字不行吗?
追答
用户浏览器的大小是不确定的,你必须做足够多大小不同的图片,调用规则必须写的很好(例如浏览器高度在那个范围宽度在那个范围时调用哪张图片),如果判断条件写的不好,效果肯定不好
名字随意设置body背景可以写在某个判断条件中,这是一种完全自定义的方式,需要仔细处理
molaifeng
2013-01-01 · TA获得超过5273个赞
知道大有可为答主
回答量:1629
采纳率:50%
帮助的人:1784万
展开全部
有一种简单的方法是设置百分比,楼主可以将背景图片的宽高都设成100%,那么不管在什么样的屏幕下都是铺满的
追问
您能给个例子吗?
追答


网页内容

上面的例子是弄个div,位置弄成独立DOM之外,也就是绝对定位,把背景图片放在里面,再将网页的内容放在下面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式