Giter Site home page Giter Site logo

postcss-px-to-relative-unit's Introduction

postcss-px-to-relative-unit

npm version Build Status

A Postcss plugin to convert px to relative length units (vw / rem)

Install

npm install postcss-px-to-relative-unit

Usage

// webpack.config.js
const pxToUnit = require('postcss-px-to-relative-unit')

...
{
  loader: 'postcss-loader',
  plugins: [
    pxToUnit({
      // options
    })
  ]
}
...

Options

pxToUnit({
  targetUnit: "vw",
  ignoreThreshold: 1,
  viewportWidth: 375,
  viewportHeight: 667,
  htmlFontSize: 37.5,
  unitPrecision: 5,
  excludeFiles: [],
  excludeSelectors: [],
  excludeProperties: [],
});
Options Default Description
targetUnit 'vw' target relative length unit. Support 'vw', 'rem' and 'vw&rem'
ignoreThreshold 1 px values less than this threshold won't be converted
viewportWidth 375 base viewport width (for targetUnit: 'vw' )
viewportHeight 667 base viewport height (for targetUnit: 'vw', currently useless)
htmlFontSize 37.5 base html font-size (for targetUnit: 'rem')
unitPrecision 5 unit value precision
excludeFiles [] exclude file path, support regexp. (example: [/node_modules/])
excludeSelectors [] exclude css selector, support string and regexp. (example: ['.ignore'])
excludeProperties [] exclude css properties, support string and regexp. (example: [/^width$/])

targetUnit: 'vw&rem'

If you want to use unit vw and also worry about browser support, you can use 'vw&rem' mode. For example:

// Input
.test {
  border: 3.75px solid #fff;
}

// Output
.test {
  border: 0.1rem solid #fff;
  border: 1vw solid #fff;
}

For browser doesn't support vw, it will automatically use rem to layout.

Notice: If you need to limit max/min width of the layout, this mode is not suit for you

PX

Convert process is case sensitive, you could use PX in some edge case.

// Input
.test {
  padding: 3.75px 3.75px;
}

// Output
.test {
  padding: 3.75px 1vw;
}

License

This project is licensed under the MIT License - see the LICENSE file for details

postcss-px-to-relative-unit's People

Contributors

pandagao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

forkrep

postcss-px-to-relative-unit's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.