I’ve been using bootstrap for a while and now I’m moving into more advanced stuff, mainly create my custom CSS stylesheets using the mixins and I’ve been having lots of fun with it. One thing I’d like to simplify though is how to create a custom grid system. and is container is large screen max-width “1440” default
The easiest way is to include the bootstrap-grid mixin in the sass file, but that creates a class for every column. What I’d like to do is create a grid system only for the columns I need. For example in the project I’m working now, I only need the 3, 4, 6 and 10 columns, including the col-auto, pull, push, offset, etc., like this
@mixin make-container()
The make-container() mixin does precisely what it says, producing a container in a framework. Why use this mixin versus just including the .container class?
<div class="container"></div>
@mixin make-row()
The make-row() mixin does precisely what it says, producing a line in a framework. Why use this mixin versus just including the .row class? Two reasons. The first is that we can utilize semantic code, so rather than:
<div class="row"></div>
we can use something like:
<section>
Along these lines, we can utilize a fitting tag (section, article, and so etc.) to specify a portion of the page. This can potentially make the code easier to read and understand what content goes in that row. All we have to do now
section { @include make-row(); }
Very useful as you can see, but the real utility of this mixin is unlocked when you combine its usage with the next mixin.
@mixin make-*-column()
This mixin works in conjunction with @mixin make-row() and is truly a gathering of mixins. One of the mixins enables you to characterize the measure of segment you need to utilize while the others allow you to push, pull, and offset sections.
On the off chance that you know about Bootstrap (or any grid system), the lattice grid system depends on lines that contain columns. Since there will most likely never be where you utilize one of the column mixins without the make-row() mixin and vice versa, you can have something like this to make the columns/rows:
section { @include make-row(); article { @include make-lg-column(2); } }
@mixin size()
The size() mixin is a basic but extremely useful mixin. While making rows and columns in Bootstrap, the default behavior is to size the columns based on their content. This is fine in a great deal of circumstances, yet now and again you require a particular size. That is the place the size mixin comes in. It takes two arguments – width and stature:
.example { @include size (16%, 300px) }