web总复习第二步--css3-6css工程化

组织 优化 构建 维护

PostCSS
web总复习第二步--css3-6css工程化
PostCSS介绍:

  1.     PostCSS本身只有解析能力
  2.     各种神奇的特性全靠插件
  3.     目前至少有200多个插件

PostCSS插件:

  1.     import模块合并
  2.     autoprefixier自动加前缀
  3.     cssnano压缩代码
  4.     cssnext使用css新特性
  5.     precss变量、mixin、循环

postcss.config.js引入插件的配置文件
web总复习第二步--css3-6css工程化

autoprefixer
web总复习第二步--css3-6css工程化

cssnext插件
web总复习第二步--css3-6css工程化

precss插件

  •     变量
  •     条件(if)
  •     循环
  •     Mixin Extend
  •     import
  •     属性值引用 

postCss支持的构建工具

  •     cli命令行工具
  •     webpack postcss-loader
  •     Gulp gulp-postcss
  •     Grunt grunt-postcss
  •     Rollup rollup-postcss

webpack

使用过程:

  •     css-loader将css变成js
  •     style-loader 将js样式插入head
  •     ExtractTextPlugin将css从js中提取出来
  •     css-modules解决css命名冲突问题
  •     less-loader sass-loader各类预处理器
  •     postcss-loader PostCSS处理

web总复习第二步--css3-6css工程化

  •     js是整个应用的核心入口
  •     一切资源均由js管理依赖
  •     一切资源均由webpack打包
  • css-loader style-loader将css处理成webpack可处理文件

配置文件:

web总复习第二步--css3-6css工程化
css-modules

css-modules 修改所有class名 防止样式冲突 产生了css样式封装的效果

extract-text-plugin插件 

把css从js提取掉 、产生css文件需要pluginin

extract-text-plugin插件配置:
web总复习第二步--css3-6css工程化

css面试题:

1.如何解决css模块化问题

  •     less sass等css预处理器
  •     postcss插件(post-import/precss等)
  •     webpack处理css(css-loader+style-loader)

2.postcss可以做什么

  •     取决于插件能做什么
  •     autoprefixer cssnext precss等 兼容性处理
  •     import模块合并
  •     css语法检查 兼容性检查
  •     压缩文件

3.css-modules是做什么的,如何使用

  •     解决类名冲突的问题
  •     使用postcss或者webpack等构建工具进行编译
  •     在html模块中使用便宜过程产生的类名

4.为什么使用js来引用、加载css

  •     js作为入口、管理资源是有天然优势的
  •     将组件的结构、样式、行为封装到一起、增强内聚
  •     可以做更多的处理(webpack)
     
上一篇:vue-cli项目中使用vw——相比flexible更原生的移动端解决方案


下一篇:判断ip地址的合法性