Skip to content

A JavaScript polyfill for Flexbox

Notifications You must be signed in to change notification settings

Egnus/flex-polyfill

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flex-polyfill

flex布局的兼容方案,对flexibility的封装。

相对于直接接入flexibility,这里做了动态按需加载以及多种接入方式的支持。
后续使用过程中如果有什么问题,方便统一升级或回滚处理。

CSS写法

  .container {
    // 在使用flex的选择器中增加这一声明就可以了
    // flexibility会据此进行降级方案构建
  	-js-display: flex;
  	
  	display: flex;
  }

使用

  • 调用参数
  let options = {
    // 使用flex布局的元素,可以不传(以下为默认值)
    elem: document.documentElement,
    // flexibility.js地址,可以不传(以下为默认值)
    src: '//j1.58cdn.com.cn/git/flex-polyfill/lib/flexibility.js'
  };
  • NPM包引用方式
  // 安装
  npm i -S flex-polyfill
  // es6
  import flexPolyfill from 'flex-polyfill';
  // cmd
  let flexPolyfill = require('flex-polyfill');
  flexPolyfill(options);
  • 全局引用方式
  <script src="./dist/index.min.js"></script>
  window.flexPolyfill(options);
  • 加载器引用方式
  // CMD
  let flexPolyfill = require('./dist/index.min');
  flexPolyfill(options);
  // AMD
  requirejs(['./dist/index.min'], function(flexPolyfill) {
    flexPolyfill(options);
  });

注意事项

  • flex仅支持flex-grow
  • align-items: stretch的情况下,flex-directionrow切换到column可能会失败

尽量避免使用复杂的特性组合,此方案不能完备地支持标准的全部内容,支持情况

About

A JavaScript polyfill for Flexbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%