diff --git a/package.json b/package.json index 064e411..e7ef702 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tachyons", - "version": "4.5.5", + "version": "4.6.0", "description": "Functional CSS for humans", "author": "mrmrs", "style": "css/tachyons.min.css", diff --git a/src/_aspect-ratios.css b/src/_aspect-ratios.css new file mode 100644 index 0000000..1ee67e1 --- /dev/null +++ b/src/_aspect-ratios.css @@ -0,0 +1,135 @@ +/* + + ASPECT RATIOS + +*/ + +/* This is for fluid media that is embedded from third party sites like youtube, vimeo etc. + * Wrap the outer element in aspect-ratio and then extend it with the desired ratio i.e + * Make sure there are no height and width attributes on the embedded media. + * Adapted from: https://github.com/suitcss/components-flex-embed + * + * Example: + * + *
+ * + *
+ * + * */ + +.aspect-ratio { + height: 0; + position: relative; +} + +.aspect-ratio--16x9 { padding-bottom: 56.25%; } +.aspect-ratio--9x16 { padding-bottom: 177.77%; } + +.aspect-ratio--4x3 { padding-bottom: 75%; } +.aspect-ratio--3x4 { padding-bottom: 133.33%; } + +.aspect-ratio--6x4 { padding-bottom: 66.6%; } +.aspect-ratio--4x6 { padding-bottom: 150%; } + +.aspect-ratio--8x5 { padding-bottom: 62.5%; } +.aspect-ratio--5x8 { padding-bottom: 160%; } + +.aspect-ratio--7x5 { padding-bottom: 71.42%; } +.aspect-ratio--5x7 { padding-bottom: 140%; } + +.aspect-ratio--1x1 { padding-bottom: 100%; } + +.aspect-ratio--object { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; +} + +@media (--breakpoint-not-small){ + .aspect-ratio-ns { + height: 0; + position: relative; + } + .aspect-ratio--16x9-ns { padding-bottom: 56.25%; } + .aspect-ratio--9x16-ns { padding-bottom: 177.77%; } + .aspect-ratio--4x3-ns { padding-bottom: 75%; } + .aspect-ratio--3x4-ns { padding-bottom: 133.33%; } + .aspect-ratio--6x4-ns { padding-bottom: 66.6%; } + .aspect-ratio--4x6-ns { padding-bottom: 150%; } + .aspect-ratio--8x5-ns { padding-bottom: 62.5%; } + .aspect-ratio--5x8-ns { padding-bottom: 160%; } + .aspect-ratio--7x5-ns { padding-bottom: 71.42%; } + .aspect-ratio--5x7-ns { padding-bottom: 140%; } + .aspect-ratio--1x1-ns { padding-bottom: 100%; } + .aspect-ratio--object-ns { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + } +} + +@media (--breakpoint-medium){ + .aspect-ratio-m { + height: 0; + position: relative; + } + .aspect-ratio--16x9-m { padding-bottom: 56.25%; } + .aspect-ratio--9x16-m { padding-bottom: 177.77%; } + .aspect-ratio--4x3-m { padding-bottom: 75%; } + .aspect-ratio--3x4-m { padding-bottom: 133.33%; } + .aspect-ratio--6x4-m { padding-bottom: 66.6%; } + .aspect-ratio--4x6-m { padding-bottom: 150%; } + .aspect-ratio--8x5-m { padding-bottom: 62.5%; } + .aspect-ratio--5x8-m { padding-bottom: 160%; } + .aspect-ratio--7x5-m { padding-bottom: 71.42%; } + .aspect-ratio--5x7-m { padding-bottom: 140%; } + .aspect-ratio--1x1-m { padding-bottom: 100%; } + .aspect-ratio--object-m { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + } +} + +@media (--breakpoint-large){ + .aspect-ratio-l { + height: 0; + position: relative; + } + .aspect-ratio--16x9-l { padding-bottom: 56.25%; } + .aspect-ratio--9x16-l { padding-bottom: 177.77%; } + .aspect-ratio--4x3-l { padding-bottom: 75%; } + .aspect-ratio--3x4-l { padding-bottom: 133.33%; } + .aspect-ratio--6x4-l { padding-bottom: 66.6%; } + .aspect-ratio--4x6-l { padding-bottom: 150%; } + .aspect-ratio--8x5-l { padding-bottom: 62.5%; } + .aspect-ratio--5x8-l { padding-bottom: 160%; } + .aspect-ratio--7x5-l { padding-bottom: 71.42%; } + .aspect-ratio--5x7-l { padding-bottom: 140%; } + .aspect-ratio--1x1-l { padding-bottom: 100%; } + .aspect-ratio--object-l { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; + } +} diff --git a/src/_negative-margins.css b/src/_negative-margins.css new file mode 100644 index 0000000..a722162 --- /dev/null +++ b/src/_negative-margins.css @@ -0,0 +1,199 @@ +/* + NEGATIVE MARGINS + + Base: + n = negative + + Modifiers: + a = all + t = top + r = right + b = bottom + l = left + + 1 = 1st step in spacing scale + 2 = 2nd step in spacing scale + 3 = 3rd step in spacing scale + 4 = 4th step in spacing scale + 5 = 5th step in spacing scale + 6 = 6th step in spacing scale + 7 = 7th step in spacing scale + + Media Query Extensions: + -ns = not-small + -m = medium + -l = large + +*/ + + + +.na1 { margin: -var(--spacing-extra-small); } +.na2 { margin: -var(--spacing-small); } +.na3 { margin: -var(--spacing-medium); } +.na4 { margin: -var(--spacing-large); } +.na5 { margin: -var(--spacing-extra-large); } +.na6 { margin: -var(--spacing-extra-extra-large); } +.na7 { margin: -var(--spacing-extra-extra-extra-large); } + +.nl1 { margin-left: -var(--spacing-extra-small); } +.nl2 { margin-left: -var(--spacing-small); } +.nl3 { margin-left: -var(--spacing-medium); } +.nl4 { margin-left: -var(--spacing-large); } +.nl5 { margin-left: -var(--spacing-extra-large); } +.nl6 { margin-left: -var(--spacing-extra-extra-large); } +.nl7 { margin-left: -var(--spacing-extra-extra-extra-large); } + +.nr1 { margin-right: -var(--spacing-extra-small); } +.nr2 { margin-right: -var(--spacing-small); } +.nr3 { margin-right: -var(--spacing-medium); } +.nr4 { margin-right: -var(--spacing-large); } +.nr5 { margin-right: -var(--spacing-extra-large); } +.nr6 { margin-right: -var(--spacing-extra-extra-large); } +.nr7 { margin-right: -var(--spacing-extra-extra-extra-large); } + +.nb1 { margin-bottom: -var(--spacing-extra-small); } +.nb2 { margin-bottom: -var(--spacing-small); } +.nb3 { margin-bottom: -var(--spacing-medium); } +.nb4 { margin-bottom: -var(--spacing-large); } +.nb5 { margin-bottom: -var(--spacing-extra-large); } +.nb6 { margin-bottom: -var(--spacing-extra-extra-large); } +.nb7 { margin-bottom: -var(--spacing-extra-extra-extra-large); } + +.nt1 { margin-top: -var(--spacing-extra-small); } +.nt2 { margin-top: -var(--spacing-small); } +.nt3 { margin-top: -var(--spacing-medium); } +.nt4 { margin-top: -var(--spacing-large); } +.nt5 { margin-top: -var(--spacing-extra-large); } +.nt6 { margin-top: -var(--spacing-extra-extra-large); } +.nt7 { margin-top: -var(--spacing-extra-extra-extra-large); } + +@media (--breakpoint-not-small) { + + .na1-ns { margin: -var(--spacing-extra-small); } + .na2-ns { margin: -var(--spacing-small); } + .na3-ns { margin: -var(--spacing-medium); } + .na4-ns { margin: -var(--spacing-large); } + .na5-ns { margin: -var(--spacing-extra-large); } + .na6-ns { margin: -var(--spacing-extra-extra-large); } + .na7-ns { margin: -var(--spacing-extra-extra-extra-large); } + + .nl1-ns { margin-left: -var(--spacing-extra-small); } + .nl2-ns { margin-left: -var(--spacing-small); } + .nl3-ns { margin-left: -var(--spacing-medium); } + .nl4-ns { margin-left: -var(--spacing-large); } + .nl5-ns { margin-left: -var(--spacing-extra-large); } + .nl6-ns { margin-left: -var(--spacing-extra-extra-large); } + .nl7-ns { margin-left: -var(--spacing-extra-extra-extra-large); } + + .nr1-ns { margin-right: -var(--spacing-extra-small); } + .nr2-ns { margin-right: -var(--spacing-small); } + .nr3-ns { margin-right: -var(--spacing-medium); } + .nr4-ns { margin-right: -var(--spacing-large); } + .nr5-ns { margin-right: -var(--spacing-extra-large); } + .nr6-ns { margin-right: -var(--spacing-extra-extra-large); } + .nr7-ns { margin-right: -var(--spacing-extra-extra-extra-large); } + + .nb1-ns { margin-bottom: -var(--spacing-extra-small); } + .nb2-ns { margin-bottom: -var(--spacing-small); } + .nb3-ns { margin-bottom: -var(--spacing-medium); } + .nb4-ns { margin-bottom: -var(--spacing-large); } + .nb5-ns { margin-bottom: -var(--spacing-extra-large); } + .nb6-ns { margin-bottom: -var(--spacing-extra-extra-large); } + .nb7-ns { margin-bottom: -var(--spacing-extra-extra-extra-large); } + + .nt1-ns { margin-top: -var(--spacing-extra-small); } + .nt2-ns { margin-top: -var(--spacing-small); } + .nt3-ns { margin-top: -var(--spacing-medium); } + .nt4-ns { margin-top: -var(--spacing-large); } + .nt5-ns { margin-top: -var(--spacing-extra-large); } + .nt6-ns { margin-top: -var(--spacing-extra-extra-large); } + .nt7-ns { margin-top: -var(--spacing-extra-extra-extra-large); } + +} + +@media (--breakpoint-medium) { + .na1-m { margin: -var(--spacing-extra-small); } + .na2-m { margin: -var(--spacing-small); } + .na3-m { margin: -var(--spacing-medium); } + .na4-m { margin: -var(--spacing-large); } + .na5-m { margin: -var(--spacing-extra-large); } + .na6-m { margin: -var(--spacing-extra-extra-large); } + .na7-m { margin: -var(--spacing-extra-extra-extra-large); } + + .nl1-m { margin-left: -var(--spacing-extra-small); } + .nl2-m { margin-left: -var(--spacing-small); } + .nl3-m { margin-left: -var(--spacing-medium); } + .nl4-m { margin-left: -var(--spacing-large); } + .nl5-m { margin-left: -var(--spacing-extra-large); } + .nl6-m { margin-left: -var(--spacing-extra-extra-large); } + .nl7-m { margin-left: -var(--spacing-extra-extra-extra-large); } + + .nr1-m { margin-right: -var(--spacing-extra-small); } + .nr2-m { margin-right: -var(--spacing-small); } + .nr3-m { margin-right: -var(--spacing-medium); } + .nr4-m { margin-right: -var(--spacing-large); } + .nr5-m { margin-right: -var(--spacing-extra-large); } + .nr6-m { margin-right: -var(--spacing-extra-extra-large); } + .nr7-m { margin-right: -var(--spacing-extra-extra-extra-large); } + + .nb1-m { margin-bottom: -var(--spacing-extra-small); } + .nb2-m { margin-bottom: -var(--spacing-small); } + .nb3-m { margin-bottom: -var(--spacing-medium); } + .nb4-m { margin-bottom: -var(--spacing-large); } + .nb5-m { margin-bottom: -var(--spacing-extra-large); } + .nb6-m { margin-bottom: -var(--spacing-extra-extra-large); } + .nb7-m { margin-bottom: -var(--spacing-extra-extra-extra-large); } + + .nt1-m { margin-top: -var(--spacing-extra-small); } + .nt2-m { margin-top: -var(--spacing-small); } + .nt3-m { margin-top: -var(--spacing-medium); } + .nt4-m { margin-top: -var(--spacing-large); } + .nt5-m { margin-top: -var(--spacing-extra-large); } + .nt6-m { margin-top: -var(--spacing-extra-extra-large); } + .nt7-m { margin-top: -var(--spacing-extra-extra-extra-large); } + +} + +@media (--breakpoint-large) { + .na1-l { margin: -var(--spacing-extra-small); } + .na2-l { margin: -var(--spacing-small); } + .na3-l { margin: -var(--spacing-medium); } + .na4-l { margin: -var(--spacing-large); } + .na5-l { margin: -var(--spacing-extra-large); } + .na6-l { margin: -var(--spacing-extra-extra-large); } + .na7-l { margin: -var(--spacing-extra-extra-extra-large); } + + .nl1-l { margin-left: -var(--spacing-extra-small); } + .nl2-l { margin-left: -var(--spacing-small); } + .nl3-l { margin-left: -var(--spacing-medium); } + .nl4-l { margin-left: -var(--spacing-large); } + .nl5-l { margin-left: -var(--spacing-extra-large); } + .nl6-l { margin-left: -var(--spacing-extra-extra-large); } + .nl7-l { margin-left: -var(--spacing-extra-extra-extra-large); } + + .nr1-l { margin-right: -var(--spacing-extra-small); } + .nr2-l { margin-right: -var(--spacing-small); } + .nr3-l { margin-right: -var(--spacing-medium); } + .nr4-l { margin-right: -var(--spacing-large); } + .nr5-l { margin-right: -var(--spacing-extra-large); } + .nr6-l { margin-right: -var(--spacing-extra-extra-large); } + .nr7-l { margin-right: -var(--spacing-extra-extra-extra-large); } + + .nb1-l { margin-bottom: -var(--spacing-extra-small); } + .nb2-l { margin-bottom: -var(--spacing-small); } + .nb3-l { margin-bottom: -var(--spacing-medium); } + .nb4-l { margin-bottom: -var(--spacing-large); } + .nb5-l { margin-bottom: -var(--spacing-extra-large); } + .nb6-l { margin-bottom: -var(--spacing-extra-extra-large); } + .nb7-l { margin-bottom: -var(--spacing-extra-extra-extra-large); } + + .nt1-l { margin-top: -var(--spacing-extra-small); } + .nt2-l { margin-top: -var(--spacing-small); } + .nt3-l { margin-top: -var(--spacing-medium); } + .nt4-l { margin-top: -var(--spacing-large); } + .nt5-l { margin-top: -var(--spacing-extra-large); } + .nt6-l { margin-top: -var(--spacing-extra-extra-large); } + .nt7-l { margin-top: -var(--spacing-extra-extra-extra-large); } +} +