@casoon/dragonfly
Version:
Modular, lightweight CSS framework and design system for modern web projects. Optimized for Astro JS, LightningCSS and Container Queries with @layer-based architecture and comprehensive accessibility.
118 lines (95 loc) • 2.25 kB
CSS
/*
* Layout Mixins
*
* Mixins für Layout-Strukturen und -Muster.
* Diese Mixins können in anderen CSS-Dateien verwendet werden.
*/
@layer utilities.mixins {
/* Grid-Mixins */
@define-mixin grid-columns $columns {
display: grid;
gap: var(--grid-gutter);
grid-template-columns: repeat($columns, 1fr);
}
@define-mixin grid-auto-fit $minWidth {
display: grid;
gap: var(--grid-gutter);
grid-template-columns: repeat(auto-fit, minmax($minWidth, 1fr));
}
@define-mixin grid-auto-fill $minWidth {
display: grid;
gap: var(--grid-gutter);
grid-template-columns: repeat(auto-fill, minmax($minWidth, 1fr));
}
/* Flex-Mixins */
@define-mixin flex-row {
display: flex;
flex-direction: row;
}
@define-mixin flex-column {
display: flex;
flex-direction: column;
}
@define-mixin flex-center {
align-items: center;
display: flex;
justify-content: center;
}
@define-mixin flex-between {
align-items: center;
display: flex;
justify-content: space-between;
}
@define-mixin flex-around {
align-items: center;
display: flex;
justify-content: space-around;
}
@define-mixin flex-end {
align-items: center;
display: flex;
justify-content: flex-end;
}
/* Positionierungs-Mixins */
@define-mixin absolute-center {
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50);
}
@define-mixin absolute-cover {
inset: 0;
position: absolute;
}
@define-mixin fixed-cover {
inset: 0;
position: fixed;
}
/* Container-Mixins */
@define-mixin container {
margin-inline: auto;
max-width: var(--container-lg);
padding-inline: var(--container-padding-md);
width: 100%;
}
@define-mixin container-sm {
@mixin container;
max-width: var(--container-sm);
}
@define-mixin container-md {
@mixin container;
max-width: var(--container-md);
}
@define-mixin container-lg {
@mixin container;
max-width: var(--container-lg);
}
@define-mixin container-xl {
@mixin container;
max-width: var(--container-xl);
}
@define-mixin container-2xl {
@mixin container;
max-width: var(--container-2xl);
}
}