npm install @csstools/postcss-logical-float-and-clear --save-dev
PostCSS Logical Float And Clear lets you use logical, rather than physical, direction and dimension mappings in CSS, following the CSS Logical Properties and Values specification.
.element { clear: inline-start; float: inline-end; } /* becomes */ .element { clear: left; float: right; }
Usage
Add PostCSS Logical Float And Clear to your project:
npm install postcss @csstools/postcss-logical-float-and-clear --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss'); const postcssLogicalFloatAndClear = require('@csstools/postcss-logical-float-and-clear'); postcss([ postcssLogicalFloatAndClear(/* pluginOptions */) ]).process(YOUR_CSS /*, processOptions */);
PostCSS Logical Float And Clear runs in all Node environments, with special instructions for:
Options
inlineDirection
The inlineDirection option allows you to specify the direction of the inline axe. The default value is left-to-right, which would match any latin language.
You should tweak this value so that it is specific to your language and writing mode.
postcssLogicalFloatAndClear({ inlineDirection: 'right-to-left' })
.element { clear: inline-start; float: inline-end; } /* becomes */ .element { clear: right; float: left; }
Each direction must be one of the following:
top-to-bottombottom-to-topleft-to-rightright-to-left
Please do note that transformations won't run if inlineDirection becomes vertical.