sunniejs / vue-h5-template

:tada:vue搭建移动端开发,基于vue-cli4.0+webpack 4+vant ui + sass+ rem适配方案+axios封装,构建手机端模板脚手架
https://sunniejs.github.io/vue-h5-template/
MIT License
3.08k stars 874 forks source link

使用 postcss-mobile-forever 进行屏幕适配,提升各端可访问性 #118

Closed wswmsword closed 1 year ago

wswmsword commented 1 year ago

嗨,作者你好,欢迎试下我最近开发的屏幕适配插件,postcss-mobile-forever。很多移动端网站虽然用视口单位解决了部分适配问题,但还是忽视了大屏幕访问的问题,一些非前端的适配方案也不能完全阻止在非移动端的平台上访问,导致在这些大屏设备上几乎不可用的问题,我这个插件可以用来解决这个问题。

这个插件主要通过两个规则,生成两个媒体查询,用来限制视口单位的最大宽度,从而覆盖大部分的桌面端和横屏情况。插件兼容大部分 postcss-px-to-viewport 功能,相关功能通过了单元测试。对于动态生成 viewportWidth,可以向参数传递函数实现,另外插件也是基于 PostCSS 8 开发,不会有控制台报错。媒体查询的样式代码会导致打包体积变大,因此如果项目正在渐进式适配,完成了某一端的适配,也可以用 disableDesktop、disablePortrait 来关闭桌面端或横屏的适配。

如果有帮助的话,欢迎使用~

下面是我使用插件本地运行的截图:

![移动端的展示效果](https://user-images.githubusercontent.com/26893092/221354103-3f8e8d53-c6c9-4236-bf54-6a4d06313bbe.PNG) ![![landscape](https://user-images.githubusercontent.com/26893092/221354099-8c990ec2-34b2-47f4-8161-8571b87aad67.PNG)](https://user-images.githubusercontent.com/26893092/221354092-f2b06a47-3a0c-4a88-9a99-cec74e1ad3b3.PNG)
![桌面端展示效果](https://user-images.githubusercontent.com/26893092/221354073-9d1faa77-bdf0-4a65-8243-c88fa6dbc7bc.png)
fonghehe commented 1 year ago

非常感谢你的pr,因为h5大部分的时候是只在手机上使用,很多的情况下都不考虑兼容横屏或者ipad等大屏(一般来说...),你可以修改docs仓库的使用文档来推广该使用方式,暂不考虑在该项目上应用此方式

wswmsword commented 1 year ago

以开发者角度无需考虑(一般来说…),可软件的使用者是用户,用户的确不需要考虑软件是否不兼容某个平台,却有每个平台可用的期望。

就像我提到过的,每个环节都在尽力适配,但客户端种类太多很难预测,前端作为最后一个环节,所以它得挑起兜底的担子。视口单位没考虑到的地方,个人觉得还是得完善一下。

250786898 commented 6 months ago

为啥我这样处理 有些NaNpx了呢~

wswmsword commented 6 months ago

@250786898 是啥情况呢?具体情况可以转到我的项目里提 Issue 来描述下问题。