Skip to content
This repository has been archived by the owner on Apr 18, 2021. It is now read-only.
/ smart-grid Public archive

Smart and minimal Sass grid mixin that doesn't need HTML class names!

Notifications You must be signed in to change notification settings

saadeghi/smart-grid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Smart Grid Sass Mixin

Smart and minimal Sass grid mixin that doesn't need HTML class names!

⚠️ This mixin works with display:inline-block and it was a solution for old browsers that doesn't support flexbox and CSS grid. Since all modern browsers support CSS grid now, I suggest that you don't use this mixin and use CSS grid instead.

<div class=grid>
	<div>
		<div></div>
		<div></div>
		<div></div>
		<div></div>
	</div>
</div>
// 3 columns in a row with equal width
.grid{
	@include smartgrid( 1/3 );
}

Advanced usage

// coulmn width: 20%
 .grid{
	@include smartgrid( .2 );
}
// first column: 20%
// second column: 40%
// third column: 40%
.grid{
	@include smartgrid(
		[ 1/5, 2/5, 2/5 ]
	);
}
// first column: 25%
// second column: 75%
// 15px gap between columns
.grid{
	@include smartgrid(
		[ .25, .75 ],
		[15]
	);
}
// first column: 30%
// second column: 70%
// 10px gap between columns (margin-right)
// 10px gap between rows (margin-bottom)
.grid{
	@include smartgrid(
		[ 3/10, 7/10 ],
		[10 10]
	);
}
// 10px gap between columns (margin-right)
// 10px gap between rows (margin-bottom)
// When screen resolution is more than 480px:
//	 first column: 25%
//	 second column: 50%
//	 third column: 25%
// For smaller screens:
//	 all columns: 50%
.grid{
	@include smartgrid(
		[
			["480px",[ 1/4 2/4 1/4 ]]
		],
		[10 10],
		1/2
	);
}
// 10px gap between columns (margin-right)
// 10px gap between rows (margin-bottom)
// When screen resolution is more than 480px:
//	 all column: 50% (.5)
// When screen resolution is more than 960px:
//	 all column: 33.3% (.3)
// When screen resolution is more than 1200px:
//	 all column: 20% (.2)
// Default width:
//	 all columns: 20% (1/5)
.grid{
	@include smartgrid(
		[
			["480px",[ .5 .5 .5 ]],
			["960px",[ .3 .3 .3 ]]
			["1200px",[ .2 .2 .2 ]]
		],
		[10 10],
		1/5
	);
}

About

Smart and minimal Sass grid mixin that doesn't need HTML class names!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages