The Flex system

A 12 column system and a shrink/auto row system implemented with flex

Classes

.fx-cont

Flex container with 12 even columns along the X axis

.fx-{x}{num}

Where {x} is the screen size and {num} is the column width inside of an fx-cont element. Here is a table with all of the options:

SmallMediumLarge
1fx-s1fx-m1fx-l1
2fx-s2fx-m2fx-l2
3fx-s3fx-m3fx-l3
4fx-s4fx-m4fx-l4
5fx-s5fx-m5fx-l5
6fx-s6fx-m6fx-l6
7fx-s7fx-m7fx-l7
8fx-s8fx-m8fx-l8
9fx-s9fx-m9fx-l9
10fx-s10fx-m10fx-l10
11fx-s11fx-m11fx-l11
12fx-s12fx-m12fx-l12

.fx-sshrink, .fx-mshrink, .fx-lshrink

Have the column for its respective size inside of an fx-cont element shrink to be only the size it needs to be

.fx-sauto, .fx-mauto, .fx-lauto

Have the column for its respective size inside of an fx-cont element expand to fit the size available to it

.fxy-cont

Flex container along the Y axis

.fxy-shrink

Have the row for its respective size inside of an fxy-cont element shrink to be only the size it needs to be

.fxy-auto

Have the row for its respective size inside of an fxy-cont element expand to fit the size available to it

Examples

Fixed column sizes

<div class="fx-cont">
	<div class="fx-12 fx-m4">
		<p>I span the full width of a small screen but a third of a medium or larger screen</p>
	</div>
	<div class="fx-12 fx-m8">
		<p>I span the full width of a small screen but two thirds of a medium or larger screen</p>
	</div>
</div>

Shrink/expand columns

<div class="fx-cont">
	<div class="fx-12 fx-mshrink">
		<p>I span the full width of a small screen but shrink on a medium or larger screen</p>
	</div>
	<div class="fx-12 fx-mauto">
		<p>I span the full width of a small screen but expand on a medium or larger screen</p>
	</div>
</div>

Shrink/expand row

<body class="fxy-cont">
	<header class="fxy-shrink">
		<p>I am just the height that I need to be</p>
	</header>
	<main class="fxy-auto">
		<p>I grow to fill the height if space is available</p>
	</main>
	<footer class="fxy-shrink">
		<p>I am just the height that I need to be</p>
	</footer>
</body>