boxmodel2
boxmodel2 is css library providing css classes to modify margins, paddings, borders, dimensions and positions without writing css declarations by yourself.
##Instalation In your Gemfile include:
gem 'boxmodel2'
and execute:
$ bundle
or install it by:
gem install boxmodel2
##Usage ###Configuration In your CSS manifest add the following lines:
$bm-min-value: 5;
$bm-max-value: 50;
$bm-step: 5;
@import 'boxmodel2';
You can also generate classes only for specific values. To do so, define a list of values like this:
$bm-values: -5,1,2,3,10,40;
@import: 'boxmodel2';
!important If $bm-values is not null variables $bm-min-value, $bm-max-value and $bm-step are not taken into account.
###Responsive
boxmodel2 provides classes you can use in your responsive web design projects. For example class .m-r-sm-10 added to an element sets margin-right on the element only for small breakpoint.
By default breakpoints are the same as in Twitter Bootstrap. You can change them using responsive variables.
###Types of classes
boxmodel2 generates the following types of classes:
- disabling:
n-p,n-b-l,m-r-0; - one direction:
m-r--10,p-b-5,b-t-3; - bi-directional:
m-h-25,p-h; - four directional:
m-30,b-2; - position:
pb-20,pl-10; - demension:
w-30,h-15; - responsive:
m-b-xs-30,p-t-sm-20,b-md-3,pl-lg-10.
###Naming convention
- n - no (disabling)
- m - margin
- p - padding
- b - border
- pt - position top
- pr - position right
- pb - position bottom
- pl - position left
- w - width
- h - height
- l - left
- r - right
- t - top
- b - bottom
- v - vertical
- h - horizontal
- xs - extra small
- sm - small
- md - medium
- lg - large
###Examples
-
n-p-padding: 0 !important -
m-t--10-margin-top: -10px !important -
p-l-5-padding-left: 5px !important -
b-r-2-border-width-right: 2px !important -
pb-15-bottom: 15px !important -
h-20-height: 20px !important -
m-r-sm-30-margin-right: 30px !importantonly for small screens
###Variables ####Generator variables Define values for classes generation.
-
$bm-values- defines list of values which will be generated; type:list; default:null -
$bm-min-value- value from which classes will be generated; type:number; default:5 -
$bm-max-value- classes generation will stop on this value; type:number; default:30 -
$bm-step- defines the distance from one class to the other; type:number; default:5 -
$bm-directions- list of directions which classes will modify; type:list; default:top, right, bottom, left, horizontal, vertical, all
####Group variables Define which group of classes will be generated.
-
$bm-positions- type:boolean; default:false -
$bm-margins- type:boolean; default:true -
$bm-borders- type:boolean; default: false -
$bm-paddings- type:boolean; default:true -
$bm-dimensions- type:boolean; default:false -
$bm-responsive- type:boolena; default:false
####Responsive variables
Define breakpoints for responsive classes. Set $bm-responsive to true first.
-
$bm-screen-sm-min- type:number; default:768px -
$bm-screen-md-min- type:number; default:992px -
$bm-screen-lg-min- type:number; default:1200px -
$bm-screen-xs-max- type:number; default:($bm-screen-sm-min - 1) -
$bm-screen-sm-max- type:number; default:($bm-screen-md-min - 1) -
$bm-screen-md-max- type:number; default:($bm-screen-lg-min - 1)
##Contributing
- Fork it.
- Create your 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.