真机查看时不同机型显示效果不一致的问题

真机查看时不同机型显示效果不一致的问题

老师好,这一节我试着在真机上查看了一下页面效果,发现在不同机型上显示效果也不太一样。比如在我的荣耀手机上,显示效果就是这样的,字显得比较大,和右边的箭头重叠了。


https://img1.sycdn.imooc.com//climg/64995f7708ff65ab10802340.jpg


但在其他手机(例如小米)上查看时,效果又OK了,和设计稿上的基本一致。


我在想咱们不是使用了rem响应式布局吗,应该是可以适配各大主流机型屏幕的吧?为什么在不同手机上显示的效果还是会有如此大的差别呢?真实项目里如果遇到了这种情况该怎么办呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,解答如下:

1、我们的响应式布局,并不完善。因为将html的font-size设置成了固定值100px:

https://img1.sycdn.imooc.com//climg/649963dd095532cb03360085.jpg

该设置适用于与设计稿相同的机型,比如小米。

2、正常情况下,html的font-size应该是变化的,而不是固定的。

假设元素的宽度是3.75rem,如果html的font-size设置成固定值100px,那么元素在任何屏幕下,都是375px。假设小米手机的页面宽度是375px,那么元素就是全屏宽度。如果荣耀页面宽度是750px,那么元素宽度就不是全屏的。此时页面效果就没有实现绝对的适配。

3、实际开发中,需要将html设置成不同的宽度,比如使用媒体查询,设置html的font-size在不同的页面宽度(不同的屏幕)下,有不同的值:

https://img1.sycdn.imooc.com//climg/649966090903e07507700306.jpg

所以同学可以自己拓展一下,搜搜在vue中,怎么实现让html的font-size能够跟随页面宽度而变化。

rem+动态htm的font-size才是更好的适配的方案。

4、即使是rem+动态htm的font-size,这种方案,也可能没法一步到位,有的机型下,还是会有问题。此时就需要针对不同的机型再次调整样式。所以适配方案是需要混合使用的,哪种可以实现效果,就用哪种。

祝学习愉快!

  • 桐子酱Virginia 提问者 #1

    老师好!我其实在项目一开始就自己添加了动态设置html字体大小的功能,如下:

    https://img1.sycdn.imooc.com//climg/64999284095a99ce12600655.jpg


    但还是出现了以上所说的荣耀机型的显示问题,这个是不是就是您上面说的第4点的问题?也就是说我们还需要针对荣耀等特殊机型再去做样式调整?

    2023-06-26 21:30:43
  • 是的。各种适配方案几乎都没法一次性解决所有机型的问题,需要在特殊的机型上,单独调整。有一些问题,甚至没法调整,最后会搁置、不作调整。因为各个机型之间,差异性不小,有的机型,本身兼容性就差。

    2023-06-27 09:37:41
  • 好的明白了,谢谢老师解答!

    2023-06-27 10:11:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师