// Mixins to support specific CSS Text Level 3 elements @import "shared"; // @private css3-feature-support variables must always include a list of five boolean values // representing in order: -moz, -webkit, -ms, -o, -khtml // - mozilla/webkit legacy support handled seperately below $hyphens-support: -moz, -webkit, -ms, -o, not -khtml; // Mixin for word-break properties // http://www.w3.org/css3-text/#word-break // * legal values for $type : normal, keep-all, break-all // // Example: // p.wordBreak {@include word-break(break-all);} // // Which generates: // p.wordBreak { // -ms-word-break: break-all; // word-break: break-all; // word-break: break-word;} // @mixin word-break($value: normal){ word-break: $value; //Webkit handles break-all differently... as break-word @if $value == break-all { word-break: break-word; } } // Mixin for the hyphens property // // W3C specification: http://www.w3.org/TR/css3-text/#hyphens // * legal values for $type : auto, manual, none // // Example: // p { // @include hyphens(auto);} // Which generates: // p { // -moz-hyphens: auto; // -webkit-hyphens: auto; // hyphens: auto;} // @mixin hyphens($value: auto){ @include experimental(hyphens, $value, $hyphens-support); } // Mixin for x-browser hyphenation based on @auchenberg's post: // Removes the need for the HTML tag // http://blog.kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/ // // Example: // div {@include hyphenation;} // // Which generates: // div { // -ms-word-break: break-all; // word-break: break-all; // word-break: break-word; // -moz-hyphens: auto; // -webkit-hyphens: auto; // hyphens: auto;} // @mixin hyphenation{ @include word-break(break-all); @include hyphens; }