autoprefixer: `-ms-writing-mode` does not take `direction` property into account

In this code pen, I have both writing-mode: vertical-rl; and direction: rtl; in the same rule CSS rule.

https://codepen.io/daniel-tonon/pen/rqPbmZ

In modern browsers it looks like this:

v-rl_d-rtl

However in IE it appears like this:

v-rl_d-ltr

Usually IE does support direction when it is used on it’s own however when it is combined with writing mode, writing-mode takes priority, even if direction was used after writing-mode in the CSS order.

Input CSS

.element {
  writing-mode: vertical-rl;
  direction: rtl;
}

Current output CSS

.element {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  direction: rtl;
}

Expected output CSS

.element {
  -ms-writing-mode: bt-rl;
  writing-mode: vertical-rl;
  direction: rtl;
}

Examples of every combination

For the sake of completeness here are a bunch of screenshots and code snippets showing all the different possible configurations you can have:


direction: ltr;
-ms-writing-mode: lr-tb;
writing-mode: horizontal-tb;

h-tb_d-ltr


direction: rtl;
-ms-writing-mode: rl-tb;
writing-mode: horizontal-tb;

h-tb_d-rtl


direction: ltr;
-ms-writing-mode: tb-lr;
writing-mode: vertical-lr;

v-lr_d-ltr


direction: rtl;
-ms-writing-mode: bt-lr;
writing-mode: vertical-lr;

v-lr_d-rtl


direction: ltr;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;

v-rl_d-ltr


direction: rtl;
-ms-writing-mode: bt-rl;
writing-mode: vertical-rl;

v-rl_d-rtl

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 20 (20 by maintainers)

Most upvoted comments

Fixed in #1175

Released in 9.4.4

I might take a look at this issue it a week or two 👍

(I’m hoping that Bogdan will pick this up)