npm install @csstools/postcss-logical-overflow --save-dev
PostCSS Logical Overflow lets you use overflow-inline
and overflow-block
properties following the CSS Overflow Specification.
.inline {
overflow-inline: clip;
}
.block {
overflow-block: scroll;
}
/* becomes */
.inline {
overflow-x: clip;
}
.block {
overflow-y: scroll;
}
Add PostCSS Logical Overflow to your project:
npm install postcss @csstools/postcss-logical-overflow --save-dev
Use it as a PostCSS plugin:
const postcss = require('postcss');
const postcssLogicalOverflow = require('@csstools/postcss-logical-overflow');
postcss([
postcssLogicalOverflow(/* pluginOptions */)
]).process(YOUR_CSS /*, processOptions */);
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.
postcssLogicalOverflow({
inlineDirection: 'top-to-bottom'
})
.inline {
overflow-inline: clip;
}
.block {
overflow-block: scroll;
}
/* becomes */
.inline {
overflow-y: clip;
}
.block {
overflow-x: scroll;
}
Each direction must be one of the following:
top-to-bottom
bottom-to-top
left-to-right
right-to-left