摘要:有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。
有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。
笔记本电脑的分辨率一般为1366768附近,PC电脑的分辨率一般为 19201080;
此链接为常见电脑分辨率:http://blog.csdn.net/liyuanbh...
当写网页时,如果在1920这样的大分辨率写好之后,再去小分辨率的笔记本看同样的这个网页,会发现,笔记本电脑显示的基本为宽屏大显示器下网页放大至1.5倍左右的展示效果。
解决办法:
1.安全宽度:
为了页面在不同的分辨率下正常显示,要给页面一个安全宽度,一般在做1920px宽的页面时,中间要有一个1200px左右的安全宽度,并且居中,所有的内容要写在这个宽度的box里,如果有背景图或者轮播图必须通栏整个页面的时候,一定要设置成居中对齐,这样当分辨率降低之后,背景图或者Banner图左右、中间1200宽度的盒子依然居中对齐,不会出现向左向右偏离。
盒子里的div等小盒子可以用百分比来表示,来达到页面自适应。
在布局页面结构的时候,一些盒容器是必不可少的,比如1200px安全宽度的div。
例如:做一个活动页面,其中这个页面背景为一个大图,在这个大图上要放一些小图来与大图实现定位,绝对不能以大图直接作为背景!
而是在放大图背景的div里继续放一个安全宽度div,再把它作为父元素做相对定位,给里面的子元素做绝对定位,这样就不会出现不同分辨率下绝对定位错乱的问题了。
2.绝对定位的使用:
绝对定位的时候,该元素的父元素一定要记得设为相对定位,这样在不同分辨率下定位才不会错乱,但是前提是这个父元素在一个安全的宽度里面,如果这个父元素本身是一个会因为分辨率降低而改变的元素,则定位一定会跟着乱。
3.zoom属性或transform:scale(x,y)
通过总结网友经验,通过加zoom属性,可以让页面某个区块根据分辨率不同进行自动缩放到合适区域,但是有个bug,就是火狐浏览器打死都不支持这个属性,即使用transform:scale(x,y);属性也于事无补。还有一个小问题,在页面加载慢的时候重新刷新页面会先显示放大的效果,再变为缩小后的效果,会闪一下,这个还没找到解决办法,希望懂的朋友们多多交流。
zoom代码如下:
$(function(){ var w=window.screen.width; var zoom=w/1920; $("#container").css({ "zoom",zoom, "transform":"scale("+zoom+")" }); })
结果是:除了firefox以外,其他浏览器可以正常支持zoom属性,并且页面需要缩放的区块整体缩放到了适应当前分辨率的效果,而transform:scale 则是先把页面显示为已经把原本页面放大后再使用scale,则该缩小相当于当前页面下缩小的效果了,两边自然会留白。
PS:我觉得zoom属性蛮好用的,怎么现在都不怎么用了呢,居然firefox还不支持,而且很难找到解决办法。所以只能好好改变自己代码结构,提高代码的严谨性了,写出高效高兼容的代码,是每一个前端义不容辞的责任。
【该文章整合网友意见与经验总结所得】
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89547.html
摘要:有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。 有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。 笔记本电脑的分辨率一般为1366768附近,PC电脑的分辨率一般为 19201080;此链接为常见电...
摘要:有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。 有时候我们在写页面中,会发现绝对定位的父级元素已经相对定位了,但是在不同分辨率的电脑下,绝对定位还是会错乱,似乎父级的相对定位并没有起了作用。 笔记本电脑的分辨率一般为1366768附近,PC电脑的分辨率一般为 19201080;此链接为常见电...
摘要:空元素,主要讲下可算内联元素,因为可与其他元素同行,且宽高对其起作用。提示对内联元素宽高起作用,请使用谈谈对定位的理解生成绝对定位的元素,相对于定位以外的第一个父元素进行定位。 Html 1.解释 ,主要从utf-8展开,utf-8是一种字符编码,该编码是全世界通用的,意思是假如项目涉及多语言,那么只能使用该编码方式。 是使用html5文档类型。告知浏览器的解析器,用什么文档类型 ...
摘要:空元素,主要讲下可算内联元素,因为可与其他元素同行,且宽高对其起作用。提示对内联元素宽高起作用,请使用谈谈对定位的理解生成绝对定位的元素,相对于定位以外的第一个父元素进行定位。 Html 1.解释 ,主要从utf-8展开,utf-8是一种字符编码,该编码是全世界通用的,意思是假如项目涉及多语言,那么只能使用该编码方式。 是使用html5文档类型。告知浏览器的解析器,用什么文档类型 ...
摘要:影响着其中元素的尺寸和定位。在标准中,元素的称为。当的宽度高度使用百分数的值时,这个百分数的基准就是的尺寸。例子其中就溢出了的区域。造成以上不同的原因是,在桌面端的缩放和在移动端的缩放有不同的性质。这两个数值的单位是设备独立像素。 前言 本篇文章修改、整理自我以前写的一篇文章。 在阅读这篇文章之前,你需要了解设备像素、逻辑像素(设备独立像素)和CSS像素的区别,见我的前一篇文章理解设备...
阅读 2268·2021-11-23 09:51
阅读 5656·2021-09-22 15:39
阅读 3342·2021-09-02 15:15
阅读 3492·2019-08-30 15:54
阅读 2354·2019-08-30 15:53
阅读 1396·2019-08-30 14:04
阅读 2445·2019-08-29 18:33
阅读 2363·2019-08-29 13:08