Place
Place utilities for grid and flex display with module mixins for responsive modifiers.
Utilities (anchor)
Utility name | Property values |
---|---|
Place content | |
.place-content-flex-start | place-content: flex-start |
.place-content-flex-end | place-content: flex-end |
.place-content-start | place-content: start |
.place-content-end | place-content: end |
.place-content-center | place-content: center |
.place-content-around | place-content: space-around |
.place-content-between | place-content: space-between |
.place-content-evenly | place-content: space-evenly |
Place items | |
.place-items-flex-start | place-items: flex-start |
.place-items-flex-end | place-items: flex-end |
.place-items-start | place-items: start |
.place-items-end | place-items: end |
.place-items-center | place-items: center |
Place self | |
.place-self-flex-start | place-self: flex-start |
.place-self-flex-end | place-self: flex-end |
.place-self-start | place-self: start |
.place-self-end | place-self: end |
.place-self-center | place-self: center |
Responsive mixins (anchor)
Responsive modifier mixins are provided to include where required in custom breakpoints, the utilities available use the following modifier class naming convention:
.place-content-start
.place-content-start-xxl
.place-content-start-xl
.place-content-start-lg
.place-content-start-md
.place-content-start-sm
.place-content-start-xs
.place-content-start-xxs
The optional align and justify and utility styles can also be used with the place utilities if included.
Using the module (anchor)
Load StyleMods as demonstrated (change file path as required) then include the Sass mixin anywhere below.
Each set of utilities can be included individually:
@use "stylemods/scss" as *;
@include place-content-css;
@include place-items-css;
@include place-self-css;
// Example breakpoint
@media (width <= 480px) {
@include place-content-sm-css;
@include place-items-sm-css;
@include place-self-sm-css;
}
Or included grouped in a single mixin:
@use "stylemods/scss" as *;
@include place-css;
// Example breakpoint
@media (width <= 480px) {
@include place-sm-css;
}
Using the framework (anchor)
Using the recommended custom setup enable the styles (and required breakpoints) in an overrides document:
@use "stylemods/scss/configuration" as *;
$enable-place: true;
$enable-place-sm: true;
Include the overrides and the framework styles with your custom document for compiling the framework:
@use "overrides";
@use "stylemods/scss/stylemods";
See using the framework for more information including how the styles can also be compiled within cascade layers.
Source code (anchor)
The modules and framework use the same source code, see Sass maps to learn how to customize the values below.
place.scss
// ------------------------------------------------------------
// Place
// ------------------------------------------------------------
$place-content-values: (
"flex-start": flex-start,
"flex-end": flex-end,
"start": start,
"end": end,
"center": center,
"around": space-around,
"between": space-between,
"evenly": space-evenly,
) !default;
$place-item-self-values: (
"flex-start": flex-start,
"flex-end": flex-end,
"start": start,
"end": end,
"center": center,
) !default;
@mixin place-content-css {
@each $name, $value in $place-content-values {
.place-content-#{$name} {
place-content: #{$value};
}
}
}
@mixin place-items-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name} {
place-items: #{$value};
}
}
}
@mixin place-self-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name} {
place-self: #{$value};
}
}
}
// Breakpoint XXL
@mixin place-content-xxl-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-xxl {
place-content: #{$value};
}
}
}
@mixin place-items-xxl-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-xxl {
place-items: #{$value};
}
}
}
@mixin place-self-xxl-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-xxl {
place-self: #{$value};
}
}
}
// Breakpoint XL
@mixin place-content-xl-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-xl {
place-content: #{$value};
}
}
}
@mixin place-items-xl-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-xl {
place-items: #{$value};
}
}
}
@mixin place-self-xl-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-xl {
place-self: #{$value};
}
}
}
// Breakpoint LG
@mixin place-content-lg-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-lg {
place-content: #{$value};
}
}
}
@mixin place-items-lg-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-lg {
place-items: #{$value};
}
}
}
@mixin place-self-lg-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-lg {
place-self: #{$value};
}
}
}
// Breakpoint MD
@mixin place-content-md-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-md {
place-content: #{$value};
}
}
}
@mixin place-items-md-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-md {
place-items: #{$value};
}
}
}
@mixin place-self-md-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-md {
place-self: #{$value};
}
}
}
// Breakpoint SM
@mixin place-content-sm-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-sm {
place-content: #{$value};
}
}
}
@mixin place-items-sm-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-sm {
place-items: #{$value};
}
}
}
@mixin place-self-sm-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-sm {
place-self: #{$value};
}
}
}
// Breakpoint XS
@mixin place-content-xs-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-xs {
place-content: #{$value};
}
}
}
@mixin place-items-xs-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-xs {
place-items: #{$value};
}
}
}
@mixin place-self-xs-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-xs {
place-self: #{$value};
}
}
}
// Breakpoint XXS
@mixin place-content-xxs-css {
@each $name, $value in $place-content-values {
.place-content-#{$name}-xxs {
place-content: #{$value};
}
}
}
@mixin place-items-xxs-css {
@each $name, $value in $place-item-self-values {
.place-items-#{$name}-xxs {
place-items: #{$value};
}
}
}
@mixin place-self-xxs-css {
@each $name, $value in $place-item-self-values {
.place-self-#{$name}-xxs {
place-self: #{$value};
}
}
}
// Grouped mixins
@mixin place-css {
@include place-content-css;
@include place-items-css;
@include place-self-css;
}
@mixin place-xxl-css {
@include place-content-xxl-css;
@include place-items-xxl-css;
@include place-self-xxl-css;
}
@mixin place-xl-css {
@include place-content-xl-css;
@include place-items-xl-css;
@include place-self-xl-css;
}
@mixin place-lg-css {
@include place-content-lg-css;
@include place-items-lg-css;
@include place-self-lg-css;
}
@mixin place-md-css {
@include place-content-md-css;
@include place-items-md-css;
@include place-self-md-css;
}
@mixin place-sm-css {
@include place-content-sm-css;
@include place-items-sm-css;
@include place-self-sm-css;
}
@mixin place-xs-css {
@include place-content-xs-css;
@include place-items-xs-css;
@include place-self-xs-css;
}
@mixin place-xxs-css {
@include place-content-xxs-css;
@include place-items-xxs-css;
@include place-self-xxs-css;
}