Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Example: @include flex-container("down", "top", "left", "nowrap");
- *
- * 1st Arg: -- Main Axis --
- * - "down": Defines the main axis as vertical.
- * - "across": Defines the main axis as horizontal.
- *
- * 2nd Arg: -- Vertical Centering --
- * - "top": Aligns items in the flexbox to the upper edge.
- * - "center": Vertically centers items in the flexbox.
- * - "bottom": Aligns items in the flexbox to the lower edge.
- *
- * 3rd Arg: -- Horizontal Centering --
- * - "left": Aligns items in the flexbox to the left edge.
- * - "center": Horizontally centers items in the flexbox.
- * - "right": Aligns items in the flexbox to the right edge.
- *
- * 4th Arg: -- Wrapping --
- * - "nowrap": Does not wrap items to new columns (vertical flexbox) or new rows (horizontal flexbox).
- * - "wrap": Wraps items to new columns (vertical flexbox) or new rows (horizontal flexbox).
- */
- @mixin flex-container($direction, $verticalCentering, $horizontalCentering, $wrapping) {
- display: flex;
- @if($direction == "down") {
- flex-direction: column;
- @if($verticalCentering == "top") {
- justify-content: flex-start;
- } @else if($verticalCentering == "bottom") {
- justify-content: flex-end;
- } @else if ($verticalCentering == "center"){
- justify-content: center;
- } @else {
- @error "The 'flex-container' mix-in recieved an invalid parameter for '$verticalCentering', of '" + $verticalCentering + "', where it should have recieved 'top', 'bottom', or 'center'."
- }
- @if($horizontalCentering == "left") {
- align-items: flex-start;
- } @else if($horizontalCentering == "right") {
- align-items: flex-end;
- } @else if ($horizontalCentering == "center") {
- align-items: center;
- } @else {
- @error "The 'flex-container' mix-in recieved an invalid parameter for '$horizontalCentering', of '" + $horizontalCentering + "', where it should have recieved 'left', 'right', or 'center'."
- }
- } @else {
- flex-direction: row;
- @if($verticalCentering == "top") {
- align-items: flex-start;
- } @else if($verticalCentering == "bottom") {
- align-items: flex-end;
- } @else if ($verticalCentering == "center") {
- align-items: center;
- } @else {
- @error "The 'flex-container' mix-in recieved an invalid parameter for '$verticalCentering', of '" + $verticalCentering + "', where it should have recieved 'top', 'bottom', or 'center'."
- }
- @if($horizontalCentering == "left") {
- justify-content: flex-start;
- } @else if($horizontalCentering == "right") {
- justify-content: flex-end;
- } @else if ($horizontalCentering == "center") {
- justify-content: center;
- } @else {
- @error "The 'flex-container' mix-in recieved an invalid parameter for '$horizontalCentering', of '" + $horizontalCentering + "', where it should have recieved 'left', 'right', or 'center'."
- }
- }
- @if($wrapping == "wrap") {
- flex-wrap: wrap;
- } @else if ($wrapping == "nowrap") {
- flex-wrap: nowrap;
- } @else {
- @error "The 'flex-container' mix-in recieved an invalid parameter for '$wrapping', of '" + $wrapping + "', where it should have recieved 'wrap' or 'nowrap'."
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement