flexbox-grid-mixins
v0.3.4
Published
Sass Mixins to generate Flexbox grid
Downloads
3,366
Maintainers
Readme
Flexbox Grid Mixins
Sass Mixins to generate Flexbox grid.
Flexbox Grid Mixins is Sass Mixins library to help you write well-structured, readable, maintainable, component-based grid using Flexbox (CSS Flexible Box Layout Module).
Flexbox Grid Mixins documentation: https://thingsym.github.io/flexbox-grid-mixins/
Example
HTML
<div class="grid">
<div class="grid__col-3">
3
</div>
<div class="grid__col-9">
9
</div>
</div>
Sass
Dart Sass
@use 'node_modules/flexbox-grid-mixins/dart-sass/flexbox-grid-mixins';
$default-grid-gutter: 2%;
.grid {
@include flexbox-grid-mixins.grid($gutter: $default-grid-gutter);
> .grid__col-3 {
@include flexbox-grid-mixins.grid-col($col: 3, $gutter: $default-grid-gutter);
}
> .grid__col-9 {
@include flexbox-grid-mixins.grid-col($col: 9, $gutter: $default-grid-gutter);
}
}
LibSass
@import 'node_modules/flexbox-grid-mixins/sass/flexbox-grid-mixins';
$default-grid-gutter: 2%;
.grid {
@include grid($gutter: $default-grid-gutter);
> .grid__col-3 {
@include grid-col($col: 3, $gutter: $default-grid-gutter);
}
> .grid__col-9 {
@include grid-col($col: 9, $gutter: $default-grid-gutter);
}
}
CSS
.grid {
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
margin-left: -1%;
margin-right: -1%;
}
.grid > .grid__col-3 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-flex: 0;
-ms-flex: 0 0 23%;
flex: 0 0 23%;
margin-left: 1%;
margin-right: 1%;
margin-bottom: 2%;
}
.grid > .grid__col-9 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-flex: 0;
-ms-flex: 0 0 73%;
flex: 0 0 73%;
margin-left: 1%;
margin-right: 1%;
margin-bottom: 2%;
}
Installation
npm
$ npm install flexbox-grid-mixins --save-dev
Yarn
$ yarn add flexbox-grid-mixins --dev
Manual Install
Include dart-sass/\_flexbox-grid-mixins.scss
or sass/\_flexbox-grid-mixins.scss
in the appropriate location in your project.
Getting Started using Dart Sass
1. Import Flexbox Grid Mixins in Sass/SCSS file
@use 'flexbox-grid-mixins';
Example : import from node_modules
@use 'node_modules/flexbox-grid-mixins/dart-sass/flexbox-grid-mixins';
2. Define the grid container
.grid {
@include flexbox-grid-mixins.grid();
}
3. Generate the grid columns
.grid__col-3 {
@include flexbox-grid-mixins.grid-col(3);
}
.grid__col-9 {
@include flexbox-grid-mixins.grid-col(9);
}
Getting Started using LibSass
Note: LibSass is Deprecated. See Future Plans.
1. Import Flexbox Grid Mixins in Sass/SCSS file
@import 'flexbox-grid-mixins';
Example : import from node_modules
@import 'node_modules/flexbox-grid-mixins/sass/flexbox-grid-mixins';
2. Define the grid container
.grid {
@include grid();
}
3. Generate the grid columns
.grid__col-3 {
@include grid-col(3);
}
.grid__col-9 {
@include grid-col(9);
}
Documentation
See Flexbox Grid Mixins documentation: http://thingsym.github.io/flexbox-grid-mixins/
Mixins Reference
Example
Dart Sass
- Flexbox Grid Mixins Example
- Holy Grail Layout - Using Flexbox Grid Mixins
- Responsive web design - Using Flexbox Grid Mixins
- Gap (grid-gap) css property
- Auto margin
- Box Sizing using Default Values
- Stack
- Grid Type
- Unit-Set Grid (Experimental stage)
- [Test] Stick Out Grid
LibSass
- Flexbox Grid Mixins Example
- Holy Grail Layout - Using Flexbox Grid Mixins
- Responsive web design - Using Flexbox Grid Mixins
- Gap (grid-gap) css property
- Auto margin
- Box Sizing using Default Values
- Stack
- Grid Type
- Unit-Set Grid (Experimental stage)
- [Test] Stick Out Grid
Package manager
Development
- run
$ sudo yum install nodejs npm
- Forking on GitHub
- run
$ cd /path/to/flexbox-grid-mixins
- run
$ npm install
- run
$ npm run serve
- Access URL http://localhost:3000
Docker Development Environment
Build and launch website
docker-compose run --rm node npm install
docker-compose run --rm -p 3000:3000 node npm run serve
Access to URL http://localhost:3000
listing tasks
docker-compose run --rm node npm run
Contribution
Patches and Bug Fixes
Small patches and bug reports can be submitted a issue tracker in Github. Forking on Github is another good way. You can send a pull request.
- Fork Flexbox Grid Mixins from GitHub repository
- Create a feature branch: git checkout -b my-new-feature
- Commit your changes: git commit -am 'Add some feature'
- Push to the branch: git push origin my-new-feature
- Create new Pull Request on GitHub
Changelog
- Version 0.3.4
- fix npm script
- fix Mixins Reference
- add Docker Development Environment
- gulpfile.js for docker
- update package.json
- update github actions, Node.js 12 actions are deprecated
- fix layout margin
- add Cards Layout example
- Version 0.3.3
- update README
- update index.html
- update example
- add condense
- add $gap argument for gap CSS property
- Version 0.3.2
- fix gulp-sass compiler
- update package.json
- fix Deprecation Warning: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.
- add timeout-minutes to workflows
- Version 0.3.1
- update example
- fix items row/column alignment example
- add auto margin example
- Version 0.3.0
- add example for dart sass
- add Flexbox Grid Mixins for Dart Sass
- add dart sass workfows with gulpfile.js
- Version 0.2.2
- remove .travis.yml, change CI/CD to GitHub Actions
- Version 0.2.1
- auto release to npm only version tags
- gulp bump up version to 4.0
- Version 0.2.0
- update example
- update package.json
- add Default Values flexbox-grid-mixins-stack
- change margin property, remove @mixin, grid-margin and grid-col-margin
- remove breakpoint value of col argument
- remove condensed argument
- change grid-type from argument to Default Values flexbox-grid-mixins-grid-type
- remove bower.json
- add .travis.yml
- Version 0.1.6
- add Default Values $flexbox-grid-mixins-box-sizing
- update package.json
- change lint from scss-lint to stylelint
- Version 0.1.5
- update package.json
- add optional arguments $shorthand to @mixin grid-col
- Version 0.1.4
- update example
- update document
- fix conditional expression
- add optional arguments $width, $max-width, $min-width, $height, $max-height and $min-height to @mixin grid-col
- enable flex-grow with number column
- add positive preset column
- change readme.md file name to upper case
- Version 0.1.3
- rename folder to docs from doc, change gh-pages
- update document
- update example
- add optional arguments $flex-direction and $flex-wrap to the mixin grid
- Version 0.1.2
- update document
- update example
- improve unit-set column, using CSS calc()
- Version 0.1.1
- fix breakpoint preset column
- fix example
- fix Holy Grail Layout
- Version 0.1.0
- Initial release.
License
Licensed under the MIT License.
Author
Copyright (c) 2016-2022 thingsym