热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化autoprefixer配置,让CSS适配不同浏览器

优化auto-prefixer配置更新于201768终于克服懒惰,把post-css用上了,感觉可以抛弃stylus-loader了,哈哈
优化auto-prefixer配置

更新于 2017/6/8

终于克服懒惰,把post-css用上了,感觉可以抛弃stylus-loader了,哈哈,不过目前为了兼容,只修改了auto-prefixer的配置,它的文档在这

将原有写在loader中配置,转移到根目录下的postcss.config.js中,代码如下

module.exports = {plugins: {'autoprefixer': {},// 'postcss-px2rem': {remUnit: 100}}
}

这里可以看到我没有对autoprefixer进行任何的配置,这是因为我把相关配置写入到了package.json文件,相关代码如下

"browserslist": ["iOS >= 8","Firefox >= 20","Android > 4.4"]

如果非要在postcss.config.js中配置的话,请使用browsers参数来配置。

browserslist识别的浏览器关键词如下:

  • Android for Android WebView.

  • BlackBerry or bb for Blackberry browser.

  • Chrome for Google Chrome.

  • ChromeAndroid or and_chr for Chrome for Android

  • Edge for Microsoft Edge.

  • Electron for Electron framework. It will be converted to Chrome version.

  • Explorer or ie for Internet Explorer.

  • ExplorerMobile or ie_mob for Internet Explorer Mobile.

  • Firefox or ff for Mozilla Firefox.

  • FirefoxAndroid or and_ff for Firefox for Android.

  • iOS or ios_saf for iOS Safari.

  • Opera for Opera.

  • OperaMini or op_mini for Opera Mini.

  • OperaMobile or op_mob for Opera Mobile.

  • QQAndroid or and_qq for QQ Browser for Android.

  • Safari for desktop Safari.

  • Samsung for Samsung Internet.

  • UCAndroid or and_uc for UC Browser for Android.

==================================以上为更新内容=========================

=============================以下为旧内容=================================

之前一直使用auto-prefixer-loader的默认配置,即autoprefixer-loader?browsers=last 2 version,一直没深究为何要这么配置,直到在开发WEBAPP的项目中,使用了flex语法,结果发现编译出来的有-ms-flex-moz-flex,我期望的是只用-webkit-就行了,不用搞这么多,于是赶紧去官网找资料。。。

查阅了资料后发现,autoprefixer工具使用Browserslist来匹配符合条件的浏览器,Browserslist提供了一个网站browserl.ist来帮助我们找到期望的浏览器版本,上去试了试,发现搜索的关键字要注意下,比如如果要搜索Android Browser > 4.2实际上输入Android > 4.2就可以了,Android Browser > 4.2反而搜不到。。。

最后我把我的auto-prefixer-loader配置修改成如下

`autoprefixer?{browsers:["iOS >= 7","Android >= 4"]}`

其实应该使用postCSS,不过一直没时间学习,有空我再补上。



推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
author-avatar
啊迎春的-爱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有