码迷,mamicode.com
首页 > 其他好文 > 详细

DOM元素全屏显示解决方案(续)

时间:2014-11-27 12:45:55      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:解决方案   dom   jquery   

      前一篇中实现element全屏方案只适合单一的元素(元素里面不包含其他元素),但是如果里面有其他的元素呢?比如按钮之类的。如下图:

bubuko.com,布布扣

加上-webkit-full-screen{ width: 100%; height: 100%; } 之后全屏显示就变成:

1,button使用left和top来定位(左图)。如果用bottom和right来定位(右图)

bubuko.com,布布扣bubuko.com,布布扣

我们会发现element在全屏模式下尺寸和screen一样大了,但是element里面的子元素尺寸和位置设定还是原先的,这就为什么会出现上述情况。

那么我们要怎么样来保证父元素全屏显示,且让其子元素相对于父元素在尺寸上和位置上保持同步呢?其实我们可以使用css中的zoom属性,就是直接对父元素进行scale操作。这样会使子元素一起放大缩小。例如:

var rateHeight = parseFloat(screen.height)/$("#div").height();
var rateWidth = parseFloat(screen.width)/$("#div").width();
$("#div").css("zoom",rateWidth > rateHeight ? rateHeight : rateWidth);

通过计算元素和屏幕的尺寸比例来确定zoom的值,并且保证元素全屏模式下不变型,可能会有黑边(如果元素WH的比例和sreeen的WH比例不同的话,这里只保证一个方向上填满屏幕),然后复制给zoom。为了简化操作这里使用了jquery。结果如下:

bubuko.com,布布扣

ok,这样就可以基本满足要求了,如有其他问题请联系我,前端技术交流群:139761568

bubuko.com,布布扣


DOM元素全屏显示解决方案(续)

标签:解决方案   dom   jquery   

原文地址:http://blog.csdn.net/xiebaochun/article/details/41542791

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!