All Projects → korywakefield → Iota

korywakefield / Iota

Licence: mit
A responsive micro-framework for the grid spec powered by CSS custom properties.

Projects that are alternatives of or similar to Iota

Gridlex
Just a CSS Flexbox Grid System
Stars: ✭ 1,328 (+602.65%)
Mutual labels:  grid, scss, sass
Flexible Grid
Flexible grid layouts to get you familiar with building within the flexible grid system.(HTML, CSS, SASS, SCSS)
Stars: ✭ 154 (-18.52%)
Mutual labels:  grid, scss, sass
Kindling
A pocket-sized grid system built on the flex display property.
Stars: ✭ 155 (-17.99%)
Mutual labels:  scss, sass, responsive-design
React Native Responsive Grid
Bringing the Web's Responsive Design to React Native
Stars: ✭ 369 (+95.24%)
Mutual labels:  layout, grid, responsive-design
Easygrid
EasyGrid - VanillaJS Responsive Grid
Stars: ✭ 77 (-59.26%)
Mutual labels:  layout, grid, responsive-design
Neat
Neat is maintained by the thoughtbot design team. It is funded by thoughtbot, inc. and the names and logos for thoughtbot are trademarks of thoughtbot, inc.
Stars: ✭ 4,506 (+2284.13%)
Mutual labels:  grid, scss, sass
Breakpoint Slicer
Slice media queries with ease
Stars: ✭ 332 (+75.66%)
Mutual labels:  scss, sass, responsive-design
Interior
Design system for the modern web.
Stars: ✭ 77 (-59.26%)
Mutual labels:  layout, grid, scss
Baseguide
Lightweight and robust CSS framework for prototyping and production code.
Stars: ✭ 127 (-32.8%)
Mutual labels:  grid, scss, sass
React Timelines
React Timelines Library
Stars: ✭ 161 (-14.81%)
Mutual labels:  scss, sass
Muuri React
The layout engine for React
Stars: ✭ 163 (-13.76%)
Mutual labels:  layout, grid
Css Vars
Sass mixin to use CSS Custom Properties with Sass
Stars: ✭ 164 (-13.23%)
Mutual labels:  scss, sass
Compile Hero
🔰Visual Studio Code Extension For Compiling Language
Stars: ✭ 169 (-10.58%)
Mutual labels:  scss, sass
Sass Extract
Extract structured variables from sass files
Stars: ✭ 183 (-3.17%)
Mutual labels:  scss, sass
React Native Sass Transformer
Use Sass to style your React Native apps.
Stars: ✭ 151 (-20.11%)
Mutual labels:  scss, sass
Tuicss
Text-based user interface CSS library
Stars: ✭ 167 (-11.64%)
Mutual labels:  layout, scss
Skeleton Sass
Skeleton Sass is a highly modular version of Skeleton CSS
Stars: ✭ 151 (-20.11%)
Mutual labels:  scss, sass
Sassessentials
Repository for my tutorial course: Sass Essential Training on LinkedIn Learning and Lynda.com.
Stars: ✭ 167 (-11.64%)
Mutual labels:  scss, sass
Browser Hack Sass Mixins
Browser hack sass mixin - Apply your SCSS to a specific browser - CSS hacks for: IE, Chrome, Firefox, Edge, Opera
Stars: ✭ 170 (-10.05%)
Mutual labels:  scss, sass
Buttons
A collection of CSS buttons.
Stars: ✭ 177 (-6.35%)
Mutual labels:  scss, sass

Iota

Iota

A responsive micro-framework for the grid spec powered by CSS custom properties.

Overview

  • 1 class – That's right, one little class is all you need to get up and running. A few additional modifiers are available to unlock further layout possibilities.
  • 584 bytes gzipped – Iota is tiny. Like, really tiny. Depending on how you set it up, Iota's filesize can be reduced even further. Because, you know…every byte counts. #jkbutseriously
  • Endlessly flexible – The secret sauce comes from merging CSS grid and all its power with custom properties, unlocking true layout freedom without a boatload of unused classes weighing you down.

Basic Walkthrough

The $iota_grid Sass map sets up the grid defaults, which are output as fallback values using the CSS var() function. These defaults can be overwritten as needed at each breakpoint specified in $iota_grid, allowing you unlimited layout access with a minimal static footprint. This makes it perfect for rapid prototyping and experimenting with new layouts as any inline overwrites you add are only used in that instance.

For example, let's say that for the lg and xl breakpoints you wish to use three columns instead of the default values of 4. To do this you would use the [email protected] custom property for each breakpoint (@ represents the slug for each breakpoint set):

<div class="grid" style="--cols-lg: 3; --cols-xl: 3;">
  <!-- grid items -->
</div>

Taking our example one step further, let's say that you have decided the three column layout from above is one you wish to use on a few different pages throughout your site. Since custom properties are just that—properties—those custom properties can be abstracted into a class and utilized wherever desired:

<style>
  .custom {
    --cols-lg: 3;
    --cols-xl: 3;
  }
</style>

<div class="grid custom">
  <!-- grid items -->
</div>

Remember that Iota's custom properties are meant to augment—not replace—standard grid properties by providing some sensible defaults along with a responsive wrapper for properties that you need to change at different breakpoints.

In situations where you don't need the responsiveness, feel free to utilize standard CSS properties instead to save on having to rewrite the same declaration over and over. For example, if you know that you'd like to have a grid with no spacing between cells all the time, using grid-gap instead of [email protected] at each breakpoint will work perfectly:

<style>
  .custom {
    grid-gap: 0;
    --cols-lg: 3;
    --cols-xl: 3;
  }
</style>

<div class="grid custom">
  <!-- grid items -->
</div>

Examples

Make sure to check out the project homepage Overview section to see some live examples.

Documentation

All of Iota's documentation is found on its project homepage under the Reference section.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].