sass-direction

Sass mixins and functions to help creating bi-directional stylesheets.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
sass-direction
401.2.05 years ago6 years agoMinified + gzip package size for sass-direction in KB

Readme

Direction
Sass mixins and functions to help creating bi-directional stylesheets.
Compatibility: Sass and LibSass

Install

Download _direction.scss or install with npm or Bower :

npm

npm install sass-direction

Bower

bower install sass-direction

Usage

app.scss

@import "direction";

h1 {
  text-align: direction(left);
  margin-#{direction(right)}: 1em;
  padding: direction-sides(1em 2em 3em 4em);
  border: direction-corners(1em 2em 3em 4em);
  font-size: direction-if(ltr, 1em, 2em);
  line-height: direction-if(rtl, 2);

  @include direction-if(ltr) {
    &::before {
      content: "left to right";
    }
  }

  @include direction-if(rtl) {
    &::after {
      content: "right to left";
    }
  }

  direction: direction(rtl);

  & > span {
    direction: direction(ltr);
  }
}

app-rtl.scss

$direction: rtl;
@import "app";

Result

app.css

h1 {
  text-align: left;
  margin-right: 1em;
  padding: 1em 2em 3em 4em;
  border: 1em 2em 3em 4em;
  font-size: 1em;
  direction: rtl;
}
h1::before {
  content: "left to right";
}
h1 > span {
  direction: ltr;
}

app-rtl.css

h1 {
  text-align: right;
  margin-left: 1em;
  padding: 1em 4em 3em 2em;
  border: 2em 1em 4em 3em;
  font-size: 2em;
  line-height: 2;
  direction: ltr;
}
h1::after {
  content: "right to left";
}
h1 > span {
  direction: rtl;
}

Aliases

  • Function direction-ltr($if, $else): direction-if(ltr, $if, $else)
  • Function direction-rtl($if, $else): direction-if(rtl, $if, $else)
  • Mixin direction-ltr: direction-if(ltr)
  • Mixin direction-rtl: direction-if(rtl)

Credits

Hugely based on Tyson Matanich’s idea.