Javier Rodriguez

Menu

01 Positioning Helpers

FRAMEWORK 2024-06-24

/*---------------------------------------------------------------------------
Positioning Helpers FRAMEWORK 2024-06-18
---------------------------------------------------------------------------*/

/* Floats
-----------------------------------------------*/
/* Clearfix */
.clearfix:after {  content: " "; display: block;  height: 0;  clear: both; }

/* Positioning
-----------------------------------------------*/
/* Relative */
.relative, .relative-child > :first-child { position: relative; }
/* Absolute Overlay overlay relative parent. Forcess Full Height */
.box-over { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 2; }
/* Set to Sticky */
:root {
    --sticky_child-top-distance: 4rem; 
}
.sticky_child { height: 100%; display: flex; flex-flow: row wrap; }
.sticky_child > * { width: 100%; top: var(--sticky_child-top-distance); position: sticky; align-self: flex-start; }
.stickychild_child > * { height: 100%; display: flex; flex-flow: row wrap; }
.stickychild_child > * > * { width: 100%; top: var(--sticky_child-top-distance); position: sticky; align-self: flex-start; }

/* Z-Index
-----------------------------------------------*/
.z-0   { position:relative; z-index: -0; }
.z-1   { position:relative; z-index: -1; }
.z-2   { position:relative; z-index: -2; }
.z-3   { position:relative; z-index: -3; }
.z-4   { position:relative; z-index: -4; }
.z-5   { position:relative; z-index: -5; }
.z-6   { position:relative; z-index: -6; }
.z-7   { position:relative; z-index: -7; }
.z-8   { position:relative; z-index: -8; }
.z-9   { position:relative; z-index: -9; }
.z-10  { position:relative; z-index: -10; }
.z0    { position:relative; z-index: 0; }
.z1    { position:relative; z-index: 1; }
.z2    { position:relative; z-index: 2; }
.z3    { position:relative; z-index: 3; }
.z4    { position:relative; z-index: 4; }
.z5    { position:relative; z-index: 5; }
.z6    { position:relative; z-index: 6; }
.z7    { position:relative; z-index: 7; }
.z8    { position:relative; z-index: 8; }
.z9    { position:relative; z-index: 9; }
.z10   { position:relative; z-index: 10; }
.z15   { position:relative; z-index: 15; }
.z20   { position:relative; z-index: 20; }
.z25   { position:relative; z-index: 25; }
.z30   { position:relative; z-index: 30; }
.z35   { position:relative; z-index: 35; }
.z40   { position:relative; z-index: 40; }
.z45   { position:relative; z-index: 45; }
.z50   { position:relative; z-index: 50; }
.z55   { position:relative; z-index: 55; }
.z60   { position:relative; z-index: 60; }
.z65   { position:relative; z-index: 65; }
.z70   { position:relative; z-index: 70; }
.z75   { position:relative; z-index: 75; }
.z80   { position:relative; z-index: 80; }
.z85   { position:relative; z-index: 85; }
.z90   { position:relative; z-index: 90; }
.z95   { position:relative; z-index: 95; }
.z100   { position:relative; z-index: 100; }
.z150   { position:relative; z-index: 150; }
.z200   { position:relative; z-index: 200; }
.z250   { position:relative; z-index: 250; }
.z300   { position:relative; z-index: 300; }
.z350   { position:relative; z-index: 350; }

/* Flex Centering
-----------------------------------------------*/
.flex-center-vertically, .flex-vert, .flex-vert-child > :first-child { display: flex; justify-content: center; flex-direction: column; height: 100%; }
.flex-hor, .flex-hor-child > :first-child { display: flex; justify-content: center;  }