概要:有一个项目需求,使用平板浏览器访问pc项目,做页面适配,我使用样式zoom缩小整个页面,但对于表单的一些组件,如下拉选择框、日期选择器等出现了位置偏移
一、写到全局样式文件中-舍弃
我首先尝试了去取当前页面的下拉框class等去修改样式,但是发现下拉框的dom不在当前页面里,只知晓在body中,经过很多次努力,发现还是取不到样式,我产生了一个危险不规范的想法,将样式放在全局样式文件中。
我只要确保选择框用户们能够使用,最起码不会偏移到页面外面的情况下,综合改掉多个页面的下拉框样式。
就在大多数页面都符合要求的时候,有一个页面是弹窗中有表单并且有下拉框,直接偏移到了屏幕外巨远的距离。
二、单独页面body上加class类名
另辟蹊径,
我试想,在进入到不同页面,给body加上不同的类名,再使用此类名去取选择框的样式,就可以做到每个页面的样式隔离了。
1.在进入页面加载时--ngOnInit(),给当前渲染的body加一个类名,然后在该页面的.scss文件中写入媒体查询,自定义分辨率,就可以在这个“body”下去写样式啦
2.最后别忘了在离开页面时--ngOnDestory()中移除body的class类名