updates
This commit is contained in:
407
client/uikit/src/scss/components/grid.scss
Normal file
407
client/uikit/src/scss/components/grid.scss
Normal file
@@ -0,0 +1,407 @@
|
||||
// Name: Grid
|
||||
// Description: Component to create responsive, fluid and nestable grids
|
||||
//
|
||||
// Component: `uk-grid`
|
||||
//
|
||||
// Modifiers: `uk-grid-small`
|
||||
// `uk-grid-medium`
|
||||
// `uk-grid-large`
|
||||
// `uk-grid-collapse`
|
||||
// `uk-grid-divider`
|
||||
// `uk-grid-match`
|
||||
// `uk-grid-stack`
|
||||
// `uk-grid-margin`
|
||||
// `uk-grid-margin-small`
|
||||
// `uk-grid-margin-medium`
|
||||
// `uk-grid-margin-large`
|
||||
// `uk-grid-margin-collapse`
|
||||
//
|
||||
// Sub-modifier: `uk-grid-item-match`
|
||||
//
|
||||
// States: `uk-first-column`
|
||||
//
|
||||
// ========================================================================
|
||||
|
||||
|
||||
// Variables
|
||||
// ========================================================================
|
||||
|
||||
$grid-gutter-horizontal: $global-gutter !default;
|
||||
$grid-gutter-vertical: $grid-gutter-horizontal !default;
|
||||
$grid-gutter-horizontal-l: $global-medium-gutter !default;
|
||||
$grid-gutter-vertical-l: $grid-gutter-horizontal-l !default;
|
||||
|
||||
$grid-small-gutter-horizontal: $global-small-gutter !default;
|
||||
$grid-small-gutter-vertical: $grid-small-gutter-horizontal !default;
|
||||
|
||||
$grid-medium-gutter-horizontal: $global-gutter !default;
|
||||
$grid-medium-gutter-vertical: $grid-medium-gutter-horizontal !default;
|
||||
|
||||
$grid-large-gutter-horizontal: $global-medium-gutter !default;
|
||||
$grid-large-gutter-vertical: $grid-large-gutter-horizontal !default;
|
||||
$grid-large-gutter-horizontal-l: $global-large-gutter !default;
|
||||
$grid-large-gutter-vertical-l: $grid-large-gutter-horizontal-l !default;
|
||||
|
||||
$grid-divider-border-width: $global-border-width !default;
|
||||
$grid-divider-border: $global-border !default;
|
||||
|
||||
|
||||
/* ========================================================================
|
||||
Component: Grid
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* 1. Allow cells to wrap into the next line
|
||||
* 2. Reset list
|
||||
*/
|
||||
|
||||
.uk-grid {
|
||||
display: flex;
|
||||
/* 1 */
|
||||
flex-wrap: wrap;
|
||||
/* 2 */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Grid cell
|
||||
* Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
|
||||
* Reset margin for e.g. paragraphs
|
||||
*/
|
||||
|
||||
.uk-grid > * { margin: 0; }
|
||||
|
||||
/*
|
||||
* Remove margin from the last-child
|
||||
*/
|
||||
|
||||
.uk-grid > * > :last-child { margin-bottom: 0; }
|
||||
|
||||
|
||||
/* Gutter
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Default
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid { margin-left: (-$grid-gutter-horizontal); }
|
||||
.uk-grid > * { padding-left: $grid-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid,
|
||||
.uk-grid > .uk-grid-margin,
|
||||
* + .uk-grid-margin { margin-top: $grid-gutter-vertical; }
|
||||
|
||||
/* Desktop and bigger */
|
||||
@media (min-width: $breakpoint-large) {
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid { margin-left: (-$grid-gutter-horizontal-l); }
|
||||
.uk-grid > * { padding-left: $grid-gutter-horizontal-l; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid,
|
||||
.uk-grid > .uk-grid-margin,
|
||||
* + .uk-grid-margin { margin-top: $grid-gutter-vertical-l; }
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Small
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-small,
|
||||
.uk-grid-column-small { margin-left: (-$grid-small-gutter-horizontal); }
|
||||
.uk-grid-small > *,
|
||||
.uk-grid-column-small > * { padding-left: $grid-small-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid-small,
|
||||
.uk-grid + .uk-grid-row-small,
|
||||
.uk-grid-small > .uk-grid-margin,
|
||||
.uk-grid-row-small > .uk-grid-margin,
|
||||
* + .uk-grid-margin-small { margin-top: $grid-small-gutter-vertical; }
|
||||
|
||||
/*
|
||||
* Medium
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-medium,
|
||||
.uk-grid-column-medium { margin-left: (-$grid-medium-gutter-horizontal); }
|
||||
.uk-grid-medium > *,
|
||||
.uk-grid-column-medium > * { padding-left: $grid-medium-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid-medium,
|
||||
.uk-grid + .uk-grid-row-medium,
|
||||
.uk-grid-medium > .uk-grid-margin,
|
||||
.uk-grid-row-medium > .uk-grid-margin,
|
||||
* + .uk-grid-margin-medium { margin-top: $grid-medium-gutter-vertical; }
|
||||
|
||||
/*
|
||||
* Large
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-large,
|
||||
.uk-grid-column-large { margin-left: (-$grid-large-gutter-horizontal); }
|
||||
.uk-grid-large > *,
|
||||
.uk-grid-column-large > * { padding-left: $grid-large-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid-large,
|
||||
.uk-grid + .uk-grid-row-large,
|
||||
.uk-grid-large > .uk-grid-margin,
|
||||
.uk-grid-row-large > .uk-grid-margin,
|
||||
* + .uk-grid-margin-large { margin-top: $grid-large-gutter-vertical; }
|
||||
|
||||
/* Desktop and bigger */
|
||||
@media (min-width: $breakpoint-large) {
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-large,
|
||||
.uk-grid-column-large { margin-left: (-$grid-large-gutter-horizontal-l); }
|
||||
.uk-grid-large > *,
|
||||
.uk-grid-column-large > * { padding-left: $grid-large-gutter-horizontal-l; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid-large,
|
||||
.uk-grid + .uk-grid-row-large,
|
||||
.uk-grid-large > .uk-grid-margin,
|
||||
.uk-grid-row-large > .uk-grid-margin,
|
||||
* + .uk-grid-margin-large { margin-top: $grid-large-gutter-vertical-l; }
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Collapse
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-collapse,
|
||||
.uk-grid-column-collapse { margin-left: 0; }
|
||||
.uk-grid-collapse > *,
|
||||
.uk-grid-column-collapse > * { padding-left: 0; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid + .uk-grid-collapse,
|
||||
.uk-grid + .uk-grid-row-collapse,
|
||||
.uk-grid-collapse > .uk-grid-margin,
|
||||
.uk-grid-row-collapse > .uk-grid-margin { margin-top: 0; }
|
||||
|
||||
|
||||
/* Divider
|
||||
========================================================================== */
|
||||
|
||||
.uk-grid-divider > * { position: relative; }
|
||||
|
||||
.uk-grid-divider > :not(.uk-first-column)::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-left: $grid-divider-border-width solid $grid-divider-border;
|
||||
@if(mixin-exists(hook-grid-divider-horizontal)) {@include hook-grid-divider-horizontal();}
|
||||
}
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
border-top: $grid-divider-border-width solid $grid-divider-border;
|
||||
@if(mixin-exists(hook-grid-divider-vertical)) {@include hook-grid-divider-vertical();}
|
||||
}
|
||||
|
||||
/*
|
||||
* Default
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider { margin-left: -($grid-gutter-horizontal * 2); }
|
||||
.uk-grid-divider > * { padding-left: ($grid-gutter-horizontal * 2); }
|
||||
|
||||
.uk-grid-divider > :not(.uk-first-column)::before { left: $grid-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-gutter-vertical * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-gutter-vertical);
|
||||
left: ($grid-gutter-horizontal * 2);
|
||||
}
|
||||
|
||||
/* Desktop and bigger */
|
||||
@media (min-width: $breakpoint-large) {
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider { margin-left: -($grid-gutter-horizontal-l * 2); }
|
||||
.uk-grid-divider > * { padding-left: ($grid-gutter-horizontal-l * 2); }
|
||||
|
||||
.uk-grid-divider > :not(.uk-first-column)::before { left: $grid-gutter-horizontal-l; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-gutter-vertical-l * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-gutter-vertical-l);
|
||||
left: ($grid-gutter-horizontal-l * 2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Small
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider.uk-grid-small,
|
||||
.uk-grid-divider.uk-grid-column-small { margin-left: -($grid-small-gutter-horizontal * 2); }
|
||||
.uk-grid-divider.uk-grid-small > *,
|
||||
.uk-grid-divider.uk-grid-column-small > * { padding-left: ($grid-small-gutter-horizontal * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before,
|
||||
.uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before { left: $grid-small-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
|
||||
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-small-gutter-vertical * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-small-gutter-vertical);
|
||||
left: ($grid-small-gutter-horizontal * 2);
|
||||
}
|
||||
|
||||
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-small-gutter-vertical); }
|
||||
.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before { left: ($grid-small-gutter-horizontal * 2); }
|
||||
|
||||
/*
|
||||
* Medium
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider.uk-grid-medium,
|
||||
.uk-grid-divider.uk-grid-column-medium { margin-left: -($grid-medium-gutter-horizontal * 2); }
|
||||
.uk-grid-divider.uk-grid-medium > *,
|
||||
.uk-grid-divider.uk-grid-column-medium > * { padding-left: ($grid-medium-gutter-horizontal * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before,
|
||||
.uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before { left: $grid-medium-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
|
||||
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-medium-gutter-vertical * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-medium-gutter-vertical);
|
||||
left: ($grid-medium-gutter-horizontal * 2);
|
||||
}
|
||||
|
||||
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-medium-gutter-vertical); }
|
||||
.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before { left: ($grid-medium-gutter-horizontal * 2); }
|
||||
|
||||
/*
|
||||
* Large
|
||||
*/
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider.uk-grid-large,
|
||||
.uk-grid-divider.uk-grid-column-large { margin-left: -($grid-large-gutter-horizontal * 2); }
|
||||
.uk-grid-divider.uk-grid-large > *,
|
||||
.uk-grid-divider.uk-grid-column-large > * { padding-left: ($grid-large-gutter-horizontal * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
|
||||
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: $grid-large-gutter-horizontal; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
|
||||
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-large-gutter-vertical * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-large-gutter-vertical);
|
||||
left: ($grid-large-gutter-horizontal * 2);
|
||||
}
|
||||
|
||||
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-large-gutter-vertical); }
|
||||
.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: ($grid-large-gutter-horizontal * 2); }
|
||||
|
||||
/* Desktop and bigger */
|
||||
@media (min-width: $breakpoint-large) {
|
||||
|
||||
/* Horizontal */
|
||||
.uk-grid-divider.uk-grid-large,
|
||||
.uk-grid-divider.uk-grid-column-large { margin-left: -($grid-large-gutter-horizontal-l * 2); }
|
||||
.uk-grid-divider.uk-grid-large > *,
|
||||
.uk-grid-divider.uk-grid-column-large > * { padding-left: ($grid-large-gutter-horizontal-l * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
|
||||
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before { left: $grid-large-gutter-horizontal-l; }
|
||||
|
||||
/* Vertical */
|
||||
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
|
||||
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin { margin-top: ($grid-large-gutter-vertical-l * 2); }
|
||||
|
||||
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
|
||||
top: (-$grid-large-gutter-vertical-l);
|
||||
left: ($grid-large-gutter-horizontal-l * 2);
|
||||
}
|
||||
|
||||
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before { top: (-$grid-large-gutter-vertical-l); }
|
||||
.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before { left: ($grid-large-gutter-horizontal-l * 2); }
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Match child of a grid cell
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Behave like a block element
|
||||
* 1. Wrap into the next line
|
||||
* 2. Take the full width, at least 100%. Only if no class from the Width component is set.
|
||||
* 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
|
||||
*/
|
||||
|
||||
.uk-grid-match > *,
|
||||
.uk-grid-item-match {
|
||||
display: flex;
|
||||
/* 1 */
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.uk-grid-match > * > :not([class*='uk-width']),
|
||||
.uk-grid-item-match > :not([class*='uk-width']) {
|
||||
/* 2 */
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
/* 3 */
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
|
||||
// Hooks
|
||||
// ========================================================================
|
||||
|
||||
@if(mixin-exists(hook-grid-misc)) {@include hook-grid-misc();}
|
||||
|
||||
// @mixin hook-grid-divider-horizontal(){}
|
||||
// @mixin hook-grid-divider-vertical(){}
|
||||
// @mixin hook-grid-misc(){}
|
||||
|
||||
|
||||
// Inverse
|
||||
// ========================================================================
|
||||
|
||||
$inverse-grid-divider-border: $inverse-global-border !default;
|
||||
|
||||
|
||||
|
||||
// @mixin hook-inverse-grid-divider-horizontal(){}
|
||||
// @mixin hook-inverse-grid-divider-vertical(){}
|
||||
Reference in New Issue
Block a user