{"id":15011369,"url":"https://github.com/olets/griid","last_synced_at":"2026-03-16T21:04:28.882Z","repository":{"id":58245650,"uuid":"51881065","full_name":"olets/griid","owner":"olets","description":"griid: the greedy grid that tries to do it all with LESS. griid supports single rows with equal-width equal-height cells, multiple rows with equal-width cells, and multiple rows with fractional width cells. Best of all griid lets you easily adjust and resize your grids on the fly","archived":false,"fork":false,"pushed_at":"2016-12-21T13:37:48.000Z","size":159,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-19T17:03:22.731Z","etag":null,"topics":["grid","less","lesscss","multi-row-grids"],"latest_commit_sha":null,"homepage":"http://olets.github.io/griid","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olets.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-17T00:21:36.000Z","updated_at":"2021-03-28T22:03:50.000Z","dependencies_parsed_at":"2022-08-30T22:50:22.799Z","dependency_job_id":null,"html_url":"https://github.com/olets/griid","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olets%2Fgriid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olets%2Fgriid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olets%2Fgriid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olets%2Fgriid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olets","download_url":"https://codeload.github.com/olets/griid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243307333,"owners_count":20270256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grid","less","lesscss","multi-row-grids"],"created_at":"2024-09-24T19:40:57.214Z","updated_at":"2025-12-28T01:07:42.805Z","avatar_url":"https://github.com/olets.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"#griid\n###The greedy grid that tries to do it all with LESS\nv2.5.3\n\ngriid is a grid system with automatic rows. You can use the processed griid.css file on its own, but to take advantage its full usefulness you'll need LESS.\n\nSupports IE \u003e 8\n\ngriid supports [three grid types](https://github.com/olets/griid#markup-for-griids-three-grid-types): full-width single-row grids with cells of equal width and height; multi-row grids with a specified number of equal-width columns; and multi-row grids with fraction-of-the-grid-width cell widths specified per-cell. In the latter two cases, you can control the horizontal alignment of orphan cells (cells in non-full last rows), the space between all cells, and various other [parameters](https://github.com/olets/griid#griid-default-settings). Grids are infinitely nestable. And griid comes with mixin LESS functions that make it easy to change a grid's layout on the fly (e.g. in media queries)!\n\nBy default, griid LESS is fully built when included. If you don't want this, simply comment out line 1 of griid.less. If you do that, the griid LESS adds absolutely nothing to your compiled CSS until [built](https://github.com/olets/griid#typical-usage)-- include it in your default setup, and don't worry about adding bloat if you don't use it. In addition, all of griid's features are compartmentalized -- by [customizing your build](https://github.com/olets/griid#customizing-your-griid-installation), you can make sure that only the styles you need actually make it into your stylesheet.\n\nCheck out [the demo](http://olets.github.io/griid/) [the full suite of things griid can do](https://cdn.rawgit.com/olets/griid/v2.5.3/tests/griid-tests.html)\n\nHere's [a demo pen](http://codepen.io/henry/pen/BKoNMq) with griid already imported - go play around!\n\n###Table of contents\n- [Markup for griid's three grid types](https://github.com/olets/griid#markup-for-griids-three-grid-types)\n- [Getting griid](https://github.com/olets/griid#getting-griid)\n- [Using griid](https://github.com/olets/griid#using-griid)\n  - [Default settings](https://github.com/olets/griid#griid-default-settings)\n  - [Typical usage](https://github.com/olets/griid#typical-usage)\n- [griid LESS functions and mixins](https://github.com/olets/griid#griid-less-functions-and-mixins)\n  - [Alignment](https://github.com/olets/griid#a-alignment)\n  - [Grid transformations](https://github.com/olets/griid#b-grid-transformations)\n \t   - [Adjusting .griid .cell grids](https://github.com/olets/griid#1-adjusting-griid-cell-grids)\n \t   - [Adjusting .griid .cell-n-d grids](https://github.com/olets/griid#2-adjusting-griid-cell-n-d-grids)\n \t   - [Adjusting .griid-x .cell grids](https://github.com/olets/griid#3-adjusting-griid-x-cell-grids)\n\t \t   - [Resizing to an arbitrary column count](https://github.com/olets/griid#i-resizing-from-one-column-count-to-any-other-arbitrary-column-count)\n\t \t   - [Dropping the column count by one or more](https://github.com/olets/griid#ii-dropping-the-column-count-by-one-or-more)\n \t   - [Adjusting both .griid-x .cell and .griid .cell-n-d grids](https://github.com/olets/griid#4-adjusting-both-griid-x-cell-and-griid-cell-n-d-grids)\n \t   - [Adjusting all grids (.griid .cell, .griid-x .cell, and .griid .cell-n-d)](https://github.com/olets/griid#5-adjusting-all-grids-griid-cell-griid-x-cell-and-griid-cell-n-d)\n   - [A transformation example: A progressively resposive grid](https://github.com/olets/griid#a-transformation-example-a-progressively-resposive-grid)\n- [Customizing your griid installation](https://github.com/olets/griid#customizing-your-griid-installation)\n\t- [Customizing the installation](https://github.com/olets/griid#a-customizing-the-installation)\n\t- [Overriding default variables](https://github.com/olets/griid#b-overriding-default-variables)\n- [Contributing](https://github.com/olets/griid#contributing)\n- [Acknowledgements](https://github.com/olets/griid#acknowledgements)\n\n \u0026nbsp;\n \n---\n\n\u0026nbsp;\n\n##markup for griid's three grid types:\n\nSingle-row grids with equal-width, equal-height cells look like `.griid \u003e .cell`\n\nMulti-row grids with equal-width cells look like\n`.griid-x \u003e .cell*n` (there will be x cells per row)\n\nMulti-row grids with unequal-width cells look like\n`.griid` for the grid, `.cell-n-d` for a cell n/d of the row width. New rows will be made automatically, but if your grid has a gutter you'll need to add `.row-end` to the last cell in each row (this is not necessary if there's only one row). Full-width cells are `.cell-1-1` or `.cell-full`, and never require `.row-end`.\n\nSo\n\n\t\u003cdiv class=\"griid\"\u003e\n\t\t\u003cdiv class=\"cell\"\u003e1\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e2\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e3\u003c/div\u003e\n\t\u003c/div\u003e\n\nwill be\n\n|- - -1- - -|- - -2- - -|- - -3- - -| (`.griid .cell`)\n\nand\n\n\t\u003cdiv class=\"griid\"\u003e\n\t\t\u003cdiv class=\"cell\"\u003e4\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e5\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e6\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e7\u003c/div\u003e\n\t\u003c/div\u003e\n\n\n|- - 4- -|- - 5- -|- - 6- -|- - 7- -| (`.griid .cell` again, with a different cell count)\n\nand\n\n\t\u003cdiv class=\"griid-4\"\u003e\n\t\t\u003cdiv class=\"cell\"\u003e1\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e2\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e3\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e4\u003c/div\u003e\n\t\t\u003cdiv class=\"cell\"\u003e5\u003c/div\u003e\n\t\u003c/div\u003e\n\t\nwill be \n\n|- - 1- -|- - 2- -|- - 3- -|- - 4- -| (`.griid-x .cell`)\n\n|- - 5- -|\n\nand \n\n\t\u003cdiv class=\"griid\"\u003e\n\t\t\u003cdiv class=\"cell-1-4\"\u003e1\u003c/div\u003e\n\t\t\u003cdiv class=\"cell-3-4 row-end\"\u003e2\u003c/div\u003e\n\t\t\u003cdiv class=\"cell-1-3\"\u003e3\u003c/div\u003e\n\t\t\u003cdiv class=\"cell-1-2\"\u003e4\u003c/div\u003e\n\t\t\u003cdiv class=\"cell1-6 row end\"\u003e5\u003c/div\u003e\n\t\u003c/div\u003e\n\nwill be\n\n|- - 1- -|- - - - - - 2 - - - - - - | (`.griid .cell-n-d`)\n\n|- - 3 - - |- - - - 4 - - - -| - 5 -|\n\n\n\u0026nbsp;\n\n## getting griid\nDownload and include **griid.less** and **griid-functions.less**.\n\nOr add griid to your bower dependencies with\n\t\n\tbower install griid --save\n\nOr it from the rawgit CDN (remember to update the URL to the latest version)\n\n\thttps://cdn.rawgit.com/olets/griid/v2.1.8/griid.less\n\thttps://cdn.rawgit.com/olets/griid/v2.1.8/griid-functions.less\n\n\u0026nbsp;\n\n## using griid\n\n###griid default settings\n\nAt the top of griid.less are griid's default variables:\n\n- For multi-row grids (`.griid-x .cell` and `.griid .cell-n-d`),\n  - columns are separated by `@griid--gutter`\n  - rows are separated by `@griid--row-spacing`,\n  - and orphan cells are horizontally aligned following `@griid--orphan-h-align`\n\n- In all cases, cells are vertically aligned by `@griid--item-v-align`.\n\n- The base font size inside cells is `@griid--font-size`\n\n\u0026nbsp;\n\n###Typical usage:\n-    1. Likely: run adjustment functions in media queries to treat one grid as another in certain contexts ([see below](https://github.com/olets/griid#b-grid-transformations))\n-    2. Possibly:\n\t- run `.griid--initialize` to revert any changes made by adjustment functions,\n\t- or if you only need to reset a particular type of grid, you can save a little weight by running `.griid--initialize-equal-cells`, `.griid--initialize-unequal-cells`, or `.griid--initialize-row`\n\t- to have specific grids use a different baseline font size, you don't need to do a full new initialization. Just run `.griid--font-size(@fontSize)`##griid LESS functions and mixins\n\ngriid has support for all sorts of adjustments. These are especially useful for media queries - turn your 1/3 - 2/3 layout into 1/2 - 1/2 [quickly and cleanly](https://github.com/olets/griid#2-adjusting-griid-cell-n-d-grids). [Progressively resize a grid](https://github.com/olets/griid#a-transformation-example-a-progressively-resposive-grid) first from 6 columns (the factory default max columns for griid) [to 5](https://github.com/olets/griid#3-adjusting-griid-x-cell-grids), then 4, 3, 2, 1. Turn a [single-row grid into](https://github.com/olets/griid#1-adjusting-griid-cell-grids) a three-column grid. Pretty much anything you could want to do, you can.\n\n\u0026nbsp;\n\nExplanations of all the adjustments are here. You might also **[check out the test suite](https://cdn.rawgit.com/olets/griid/bcb6ef678f7501d5d4304aee04e2493effc8aeca/tests/griid-tests.html) for an example of each available adjustment**.\n\n\u0026nbsp;\n\n###A. Alignment\n1. `.griid--vertical-align(@args:@griid--item-v-align)`\n\n    Change the vertical alignment of cell contents\n    Default re-initializes\n\t\n\tThere are also shorthand mixins:\n\t`.griid--top` (shorthand mixin for `.griid--vertical-align(top)`)\n\t`.griid--middle` (shorthand mixin for `.griid--vertical-align(middle)`)\n\t`.griid--bottom` (shorthand mixin for `.griid--vertical-align(bottom)`)\n\t\n1. `.griid--orphan-align(@alignment:@griid--orphan-h-align)`\n\n    Change how orphan cells in multi-row grids are aligned\n    Default re-initializes\n    \n    And shorthand mixins:\n\t`.griid--left` (shorthand mixin from `.griid--orphan-align(left)`)\n\t`.griid--center` (shorthand mixin from `.griid--orphan-align(center)`)\n\t`.griid--right` (shorthand mixin from `.griid--orphan-align(right)`)\n\n\u0026nbsp;\n\n###B. Grid transformations\n\nNote: *all transformation functions check markup, not styling*. When you target `.griid-x` grids with a certain column count, griid targets *ostensible* column counts, disregarding any transformations you may have done. For example: If you use  `.griid--drop-one(5);` to turn a five-column grid into four-column grid ([see below](https://github.com/olets/griid#3-adjusting-griid-x-cell-grids)) and later want to turn it into a three-column grid, you'll need to do either `.griid--drop(2,5)` (\"drop by 2 the column count of 5-column grids\") or `.griid--resize-one(3,5)` (\"resize to 3 columns all 5-column grids\"). Don't be tricked into thinking you can do `.griid--drop-one(4)` - as far as `.griid--drop-one()` is concerned, this is still a `.griid-5`. Similarly, `.griid--drop; .griid-drop` is no different than `.griid--drop`. In practice this isn't a problem - there are enough options that you'll be able to easily do what you want.\n\n####1. Adjusting `.griid .cell` grids\n\n1. `.griid--resize-row(@treatAs:1)`\n    Turn a single-row grid into a multi-row grid with a **@treatAs** number of cells per row\n    Default turns the cells into blocks\n\n\n####2. Adjusting `.griid .cell-n-d` grids\n    \n1. `.griid--resize-one-unequal((@treatAsNumerator:1, @treatAsDenominator:2,) @targetNumerator, @targetDenominator)`\nResize one fractional-width cell type\n  - `.griid--resize-one-unequal(@targetNumerator, @targetDenominator)` turns `.cell-@targetNumerator-@targetDenominator` cells into `.cell-1-2`    \n  - `.griid--resize-one-unequal(@treatAsNumerator, @treatAsDenominator, @targetNumerator, @targetDenominator)` turns `.cell-@targetNumerator-@targetDenominator` into `.cell-@treatAsNumerator-@treatAsDenominator`\n\n\n1. `.griid--resize-unequal(@treatAsNumerator:1, @treatAsDenominator:2(, @numeratorOfLargest, @denominatorOfLargest))`\n  -    Resize all fractional smaller than or equal to target\n  -    Default turns all fractional widths into `.cell-1-2`\n  -    `.griid--resize-unequal(@treatAsNumerator, @treatAsDenominator)` turns all fractional widths into `cell-@treatAsNumerator-@treatAsDenominator`\n  -    `.griid--resize-unequal(@treatAsNumerator, @treatAsDenominator, @numeratorOfLargest, @denominatorOfLargest)` turns all fractions equal to or smaller than **@numeratorOfLargest**/**@denominatorOfLargest** into `cell-@treatAsNumerator-@treatAsDenominator`\n\n\n####3. Adjusting `.griid-x .cell` grids\n\n#####i. Resizing from one column count to any other arbitrary column count\n1. `.griid--resize-one-equal((@treatAs:1,) @target)`\n    Resize one equal width\n    `.griid--resize-one-equal(@target)` will turn cells in an `.griid-@target` into blocks\n\n1. `.griid--resize-equal(@treatAs:1(, @minColCount: @griid--min-cols(, @maxColCount: @griid--max-cols)))`\n    Change the column count of `.griid-x .cell` griids - optionally only targeting grids with a certain column count or targeting only grids with a column count within a certain range\n    Default turns cells in *all* `.griid-x` grids into blocks\n  -    `.griid--resize-equal(@treatAs)` turns all `.griid-x` grids into `.griid-@target` grids\n  -    `.griid--resize-equal(@treatAs, @minColCount)` turns all `.griid-x` grids with at least **@minColCount** columns into `.griid-@treatAs`\n  -    `.griid--resize-equal(@treatAs, @minColCount, @maxColCount)` turns all `.griid-x` grids with at least **@minColCount** and at most **@maxColCount** columns into `.griid-@treatAs`\n\n  The resize functions can add or remove columns from a grid.\n\n#####ii. Dropping the column count by one or more\n\n1. `.griid--drop-one((@dropBy:1,) @target)`\n    Drops one or more columns from \"one\" specified grid type.\n  -    `.griid--drop-one(@target)` will turn `.griid-@target` into `.griid-(@target-1)`\n  -    `.griid--drop-one(@dropBy, @target)` will turn `.griid-@target` into `.griid-(@target-@dropBy)`\n\n1. `griid--drop(@dropBy: 1(, @minColCount: @griid--min-cols(, @maxColCount: @griid--max-cols)))` \n    Default drops one column from all `.griid-x` grids\n  - `griid--drop(@dropBy)` drops **@dropBy** columns from all `.griid-x` grids\n  - `griid--drop(@dropBy, @minColCount)` drops  **@dropBy** columns `.griid-x` grids that have at least **@minColCount** columns\n  - `griid--drop(@dropBy, @minColCount, @maxColCount)` drops **@dropBy** columns from grids with between **@minColCount** and **@maxColCount** columns (inclusive)\n\n\n###4. Adjusting both `.griid-x .cell` and `.griid .cell-n-d` grids\n\n1. `.griid--row`\n    Turn a `.griid-x .cell` or `.griid .cell-n-d` grid into a `.griid .cell` grid\n    \n###5. Adjusting all grids (`.griid .cell`, `.griid-x .cell`, and `.griid .cell-n-d`)\n1. `.griid--resize(@treatAs:1)`\n    Turns *all* grids into `.griid-@treatAs` (and all `.cell-n-d` into `.cell`)\n    \n    Default turns all cells into blocks\n\n\n\u0026nbsp;\n\n###A transformation example: A progressively resposive grid\n\nHere's a simple example of how you might use [griid's `resize` function](https://github.com/olets/griid#3-adjusting-griid-x-cell-grids) to build a progressively responsive grid, targeting just a particular grid. (Note that the calculations aren't *perfect* if @griid--gutter is non-zero, but who's looking that closely?)\n\n\t.progressive-grid() {\n\t    @grid-items--max-width: [your site width];\n\t    \n\t    @max5: 5 * @griid--max-width / 6;\n\t    @max4: 2 * @griid--max-width / 3;\n\t    @max3: @griid--max-width / 2;\n\t    @max2: @griid--max-width / 3;\n\t    @max1: @griid--max-width / 6;\n\t    \n\t    @media(max-width: @max5) {\n\t        .griid--resize(5,5)\n\t    }\n\t    @media(max-width: @max4) {\n\t        .griid--resize(4,4)\n\t    }\n\t    @media(max-width: @max3) {\n\t        .griid--resize(3,3)\n\t    }\n\t    @media(max-width: @max2) {\n\t        .griid--resize(2)\n\t    }\n\t    @media(max-width: @max1) {\n\t        .griid--resize\n\t    }\n\t}\n\t#footer-grid {\n\t\t.progressive-grid\n\t}\n\n\u0026nbsp;\n\n## Customizing your griid installation\n\n### A. Customizing the installation\nThe [default installation](https://github.com/olets/griid#typical-usage) from `.griid--install` will fit most needs, but you can also build a custom griid setup to support only the features your site uses. This keeps the compiled griid CSS weight to the lowest possible on a per-site basis\n\n1. `.griid--base` is always required\n2. `.griid--inline-alignment` adds support for using inline alignment classes. It's probably preferable to use [the alignment transformations](https://github.com/olets/griid#a-alignment) but just in case you really want to have it in your markup:\n\t- Add `.left`, `.center`, `.right` to a multi-row grid to override orphan alignment\n\t- Add `.left`, `.center`, `.right` to a cell to override the cell alignment\n\t- Add `.top`, `.middle`, or `.bottom` to a grid to control the default for its child cells\n\t- Add `.top`, `.middle`, or `.bottom` to a cell to control its vertical alignment\n3. `.griid--single-row` adds support for single-row grids with equal-width, equal-height cells. By default these cells do NOT have gutters or row spacing\n4. `.griid--space-single-row` (NOT included in [`.griid--install`](https://github.com/olets/griid#typical-usage)) adds gutters and row spacing (both @griid--gutter) to `.griid .cell*x` grids. Beware that this will frame the entire `.griid .cell*x` grids in a @griid-gutter space\n5. `.griid--base`, with or without `.griid--inline-alignment` and`.griid--single-row`, still needs initialization.\n  -            `.griid--initialize` gets you ready to go with all three grid types\n  -          Or run any of `.griid--initialize-equal-cells`, `.griid--initialize-unequal-cells`, or `.griid--initialize-row` if you don't need to support them all\n\n6. `.griid .cell` grids do *not* have space around the cells by default. If you mix in `.griid--space-single-row`, these single-row grids will have gutters and row spacing *and a frame* of `@griid--gutter`\n7. `griid--single-row-spacing` adds support for `.griid \u003e .row*y \u003e .cell*x`. This may be useful if you\n  -\t want a grid with equal-height rows where that height is determined from the cell content\n  -\t don't want to use a scripted solution (I love **[jquery-match-height](https://github.com/liabru/jquery-match-height)**)\n  -  need to support orphan cells\n\n\tThis will give you a multi-row grid where all cells are the full height of the row (aka it's styled as an equal-width-cells table). If your cells have similar content, this may even be a good-enough approximation of equal-height rows.\n    \n\tNote that if last row is full this is exactly equivalant to `.griid*y \u003e .cell*x` but with bulkier markup, and that if you don't need cells that are the full height of their row (or can achieve that matched height with a script) this has no advantage over `.griid-x .cell` while having several disadvantages (bulkier markup, and less easily manipulated by the griid functions we'll cover below).\n\n\n**Note**:`.griid--install` is simply shorthand for `.griid--base;` + `.griid--inline-alignment;` + `.griid--initialize;`\n\n\u0026nbsp;\n\n###B. Overriding default variables\n\nThe [initialization functions](https://github.com/olets/griid#customizing-your-griid-installation) can be re-run at any point to re-initialize with new settings or to wipe over customizations.\n\n1.\n\n\t.griid--initialize(\n\t                  @fontSize: @griid--font-size,\n\t                   (@maxColCount: @griid--max-cols,\n\t                    (@minColCount: @griid--min-cols,\n\t                     (@smallestDenominator: @griid--max-cols,\n\t                      (@largestDenominator: @griid--min-cols,\n\t                      \t(@gutter: @griid--gutter)))))\n\t                 )\n\n2.\n\n\t.griid--initialize-equal-cells(\n\t                              @fontSize: @griid--font-size,\n\t                               (@maxColCount: @griid--max-cols,\n\t                                (@minColCount:@griid--min-cols,\n                                \t (@gutter: @griid--gutter))\n\t                             )\n\n3.\n\n\t.griid--initialize-unequal-cells(\n\t                                @fontSize: @griid--font-size, \n\t                                 (@denominatorOfNarrowestCells: @griid--max-cols,\n\t                                  (@numeratorOfNarrowestCells: @griid--min-cols,\n\t                                   (@gutter: @griid--gutter))\n\t                               )\n\t                               \n\n.4. If you really want to, you can even do a custom `.griid--install`\n\n\n\t.griid--install(\n\t               @fontSize,\n\t                (@gutter,\n\t                 (@rowSpacing,\n\t                  (@orphanAlignment,\n\t                   (@contentAlignment,\n\t                    (@maxColCount,\n\t                     (@minColCount,\n\t                      (@smallestDenominator,\n\t                       (@largestDenominator))))))))\n\t              )\n\t\n\u0026nbsp;\n\n##Contributing\nPull requests, a SASS version, etc etc are more than welcome. Please check your version against tests/griid-tests.html, and add any new functions to the test suite.\n\n\u0026nbsp;\n\n##Acknowledgements\ngriid grew out of ideas in [@JoelSutherland's](https://github.com/JoelSutherland) **grid-items** LESS grid\n\n\u0026nbsp;\n\n\u0026nbsp;\n\n######Henry Bley-Vroman, 2016\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folets%2Fgriid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folets%2Fgriid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folets%2Fgriid/lists"}