1.在css样式兼容性方面,我们可以使用autoprefixer插件
1 2 3
| postcss可以被理解为一个平台,可以让一些插件在上面跑。它提供了一个解析器,可以将CSS解析成抽象语法树。通过PostCSS这个平台,我们能够开发一些插件,来处理CSS。热门插件如autoprefixer。
vue-cli已经自动集成了postcss,所以我们可以在postcss.config.js这个配置文件中直接添加autoprefixer这个插件
|
2.在屏幕大小适配方面,我们可以使用下面两种方案
(1)使用flexible和 postcss-px2rem
之前使用rem适配的思路:使用媒体查询,确定不同屏幕下html标签的font-size (即1rem单位),然后在写css样式的时候,就可以使用1rem , 2rem这样的单位来做适配了。
但是这种适配的问题是需要手动把px单位换算成rem单位,比较麻烦。对应的,我们可以使用flexible和 postcss-px2rem来解决这个问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| npm install lib-flexible --save
import 'lib-flexible'
npm install postcss-pxtorem --save-dev
module.exports = { plugins: { 'autoprefixer': { browsers: ['Android >= 4.0', 'iOS >= 7'] }, 'postcss-pxtorem': { rootValue: 37.5, propList: ['*'] } } };
|
(2) 使用postcss-px-to-viewport
`vw` 与 `vh`单位,以`viewport`为基准,`1vw` 与 `1vh`分别为`window.innerWidth` 与 `window.innerHeight`的百分之一。
vw/vh 单位其实出现比较早了,只是以前支持性不太好,现在随着浏览器的发展,大部分(92%以上)的浏览器已经支持了vw/vh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| npm i postcss-px-to-viewport -save -dev
module.exports = { plugins: { autoprefixer: { browsers: ['Android >= 4.0', 'iOS >= 7'] }, "postcss-px-to-viewport": { viewportWidth: 320, viewportHeight: 568, unitPrecision: 5, viewportUnit: 'vw', selectorBlackList: [], minPixelValue: 1, mediaQuery: false, exclude: /(\/|\\)(node_modules)(\/|\\)/ }, } };
|
####
感谢鼓励