short-sass
v2.1.1
Published
Just another SASS library, simplify the way you use SASS.
Downloads
35
Readme
Short SASS
Just another SASS library to simplify the way you use SASS.
We're trying to create shorthand for many CSS properties, like @include absolute-top-left;
as position: absolute; top: 0; left: 0;
.
Beautiful? Let's get see how it's works!
Example
// Import normalize and resetter without think more.
@include normalize;
@include reset;
// Lets start with font-face generator. Really simple!
@include font-faces('arial' 'assets/fonts/arial', regular bold italic);
// Forget about regular things.
body {
// With this one:
@include font-smoothing;
// You don't need to write:
speak: none;
font-variant: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// A lot of use display, width and height? Try this.
.simple-box {
// With this one:
@include block(100% 500px);
// You don't need to write:
display: block;
width: 100%;
height: 500px;
}
// What about positioning? Try this.
.simple-position {
// With this one:
@include absolute-middle-center;
// You don't need to write
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-mz-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
// More hard things? Let's try!
.complex-gradient {
// With these simple breath, the possibility to combine values:
@include linear-gradient((-90deg, #fff, #ff8), true); // Append values.
@include linear-gradient((-90deg, #dff, #3d8), true);
@include radial-gradient((center, #ae9, #d38), true);
@include linear-gradient((-90deg, #73d, #f83), true);
@include radial-gradient((center, #dd9, #88d), true);
@include radial-gradient((center, #a9f, #ff1), true);
@include linear-gradient((-90deg, #99d, #1f0)); // Write the styles!
// You're freem from these things :P
background-image: -webkit-linear-gradient(-90deg, #fff, #ff8), -webkit-linear-gradient(-90deg, #dff, #3d8), -webkit-radial-gradient(center, #ae9, #d38), -webkit-linear-gradient(-90deg, #73d, #f83), -webkit-radial-gradient(center, #dd9, #88d), -webkit-radial-gradient(center, #a9f, #ff1), -webkit-linear-gradient(-90deg, #99d, #1f0);
background-image: -moz-linear-gradient(-90deg, #fff, #ff8), -moz-linear-gradient(-90deg, #dff, #3d8), -moz-radial-gradient(center, #ae9, #d38), -moz-linear-gradient(-90deg, #73d, #f83), -moz-radial-gradient(center, #dd9, #88d), -moz-radial-gradient(center, #a9f, #ff1), -moz-linear-gradient(-90deg, #99d, #1f0);
background-image: -ms-linear-gradient(-90deg, #fff, #ff8), -ms-linear-gradient(-90deg, #dff, #3d8), -ms-radial-gradient(center, #ae9, #d38), -ms-linear-gradient(-90deg, #73d, #f83), -ms-radial-gradient(center, #dd9, #88d), -ms-radial-gradient(center, #a9f, #ff1), -ms-linear-gradient(-90deg, #99d, #1f0);
background-image: -o-linear-gradient(-90deg, #fff, #ff8), -o-linear-gradient(-90deg, #dff, #3d8), -o-radial-gradient(center, #ae9, #d38), -o-linear-gradient(-90deg, #73d, #f83), -o-radial-gradient(center, #dd9, #88d), -o-radial-gradient(center, #a9f, #ff1), -o-linear-gradient(-90deg, #99d, #1f0);
}
// Or want to be free at anywhere?
.simple-box {
// It's default media
@include inline-block(320px 240px);
// Let's drive to mobile
@include mobile-portrait {
@include block(100% auto);
}
}
// What about flex box? or grid which has same height in each row? Forget about prefix!
.flex-test {
@include flex-box-column(center center);
}
// Flex Grid.
.grid-test {
@include grid(960 12 20);
.column {
@include grid-col(3 center center);
}
}
// With grid mixin above you're from this crazy stuff. :D
.grid-test {
box-sizing: border-box;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
width: 102.08333%;
-webkit-box-direction: row;
-webkit-box-orient: row;
-webkit-moz-direction: row;
-webkit-moz-orient: row;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: flex-start;
-moz-box-pack: flex-start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-align: stretch;
-moz-box-align: stretch;
-webkit-align-items: stretch;
align-items: stretch;
-ms-flex-align: stretch;
margin-left: -2.08333%;
}
.grid-test .column {
-ms-flex-preferred-size: 22.91667%;
-webkit-flex-basis: 22.91667%;
flex-basis: 22.91667%;
margin-left: 2.08333%;
margin-bottom: 2.08333%;
box-sizing: border-box;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: flex-start;
-moz-box-pack: flex-start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
justify-content: flex-start;
-webkit-box-align: center;
-moz-box-align: center;
-webkit-align-items: center;
align-items: center;
-ms-flex-align: center;
}
// @2.0.0 new samples
.new-sample {
// Important block. We use important block to give !important value to all properties defined by mixins.
@include important {
@include block(100% none);
@include font('Arial' 12px 22px orange bold);
}
@include border-radius(3px);
}
Download
You can choose the download option above, or use NPM
or Bower
bower install short-sass
npm install short-sass
Notes
We still working on documentation and trying to add more shorthand. Feel free to try this. ;)
Release History
- 2015-05-23 v2.1.1 "Fixing Important placeholder that causing nth() not rendered correctly."
- 2015-05-09 v2.1.0 "Adding touch-scroll and keyframe mixin."
- 2015-05-09 v2.0.0 "Adding important block (to support !important in mixins) and some property wrappers."
- 2015-03-10 v1.1.6 "Fixing issues"
- 2015-03-10 v1.1.5 "Fixing issues"
- 2015-03-03 v1.1.4 "Fixing issues"
- 2015-03-03 v1.1.3 "Fixing issues"
- 2015-03-02 v1.1.2 "Fixing set-display mixin"
- 2015-03-01 v1.1.1 "Fixing issues with length()."
- 2015-02-28 v1.1.0 "Added flex box helper."
- 2015-02-25 v1.0.0 "First release."