New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

fast-grid

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-grid

Sass grid system designed for speed

latest
Source
npmnpm
Version
0.2.5
Version published
Weekly downloads
209
120%
Maintainers
1
Weekly downloads
 
Created
Source

fast-grid

NPM version

Sass grid system designed for speed.

Install

Install sass in your preferred way, then install fast-grid:

npm install fast-grid --save-dev

Get started

Import fast-grid in your sass/scss file, and make grid!

<div class="cols">
    <div class="cols__item">1</div>
    <div class="cols__item">2</div>
    <div class="cols__item">3</div>
    <div class="cols__item">4</div>
    <div class="cols__item">5</div>
</div>
@import "~fast-grid/fast-grid";

* {
  box-sizing: border-box; // recommend
}

.cols {
  @include grid-row();

  &__item {
    @include grid-col(12 6 4 (1 of 5));
    
    @include grid-breakpoint(md) {
      letter-spacing: 0.5em;
    }
  }
}

Note: 12 6 4 (1 of 5) - list of span columns for default breakpoints

Compiled to:

.cols {
  display: flex;
  flex-flow: row wrap;
  margin-left: -15px;
  margin-right: -15px; }
  .cols__item {
    padding-left: 15px;
    padding-right: 15px;
    width: 100%; }
    @media (min-width: 768px) {
      .cols__item {
        width: 50%; } }
    @media (min-width: 992px) {
      .cols__item {
        width: 33.3333333333%;
        letter-spacing: 0.5em; } }
    @media (min-width: 1200px) {
      .cols__item {
        width: 20%; } }

Examples

See grid in action by examples:

https://paulzi.github.io/fast-grid/

Documentation

Settings

fast-grid set the global variable $grid. It is sass map.

You can redefine this variable after import fast-grid for change global default settings.

@import "~fast-grid/fast-grid";

$grid: (
  // ... redefine ALL (!) properties here
);

If you want to change only some properties, use map-merge:

@import "~fast-grid/fast-grid";

$grid: map-merge($grid, (
  columns: 15  
));

Alternatively, you can specify another (including local) variable, and transfer it to mixins:

@import "~fast-grid/fast-grid";

.component {
  $component-grid: (
    columns: 15
  );
  
  &__item {
    @include grid-col(5 3, $component-grid);
  }
}

Global $grid is sass map, with properties:

breakpoints (map) [(xs: 0px, sm: 768px, md: 992px, lg: 1200px, xl: 1600px)]

List of breakpoints. The list should be sorted from a smaller to a larger value.

columns (integer) [12]

Number of columns

gap (length|list|map) [15px]

Length the of the half gap between the columns.

If gap is a list, it lists the values for the each breakpoints, sorted from a smaller to a larger. A list can contain fewer breakpoints. You can also skip values by null:

@import "~fast-grid/fast-grid";

.component {
  $grid: (
    gap: 15px null 30px
  );
}

If gap is a map, it specifies the values for each specified breakpoint:

@import "~fast-grid/fast-grid";

.component {
  $grid: (
    gap: (
      xs: 15px,
      md: 30px
    )
  );
}

container (length|list|map) [15px]

Specifies padding for the grid-container().

If container is a list, it lists the values for the each breakpoints, sorted from a smaller to a larger. A list can contain fewer breakpoints. You can also skip values by null:

@import "~fast-grid/fast-grid";

.component {
  $grid: (
    container: 15px null 5%
  );
}

If container is a map, it specifies the values for each specified breakpoint:

@import "~fast-grid/fast-grid";

.component {
  $grid: (
    container: (
      xs: 15px,
      md: 5%
    )
  );
}

box-sizing (string) ['border-box']

If you do not specify globally * { box-sizing: border-box }, fill the global value of box-sizing in this property:

@import "~fast-grid/fast-grid";

$grid: map-merge($grid, (
  box-sizing: content-box
));

mode (string) ['flex']

Select flex or float mode for the grid. flex is a more modern way, and provides more features, but not supported by older browsers. float is supported by all browsers.

@import "~fast-grid/fast-grid";

$grid: map-merge($grid, (
  mode: float
));

grid-container([$from, $to, $settings])

Apply container mixin. Container has a given padding, and in the specified breakpoints have a fixed width.

@import "~fast-grid/fast-grid";

.container {
  @include grid-container(sm, lg);
}

$from (null|string|list) [null]

Start breakpoint for fixed width. If $from is list - it specifies the breakpoints for fixed width. If $from is null - disable fixed width.

$to (null|string) [null]

The end breakpoint for fixed width. If $to is null - use last breakpoint.

grid-row([$settings])

Apply row of columns mixin. It enable row behavior and correct the margins of the edge columns.

@import "~fast-grid/fast-grid";

.row {
  @include grid-row();
}

grid-col($spans[, $settings])

Apply column mixin. It enable column behavior.

@import "~fast-grid/fast-grid";

.row {
  @include grid-row();
}

.col {
  @include grid-col(12 6 4 3);
}

$spans (list|map)

If $spans is a list, it lists the values for the each breakpoints, sorted from a smaller to a larger. A list can contain fewer breakpoints. You can set auto for width: auto in this breakpoint. You can also skip values by null:

.col {
  @include grid-col(12 null 4); // sm is null, lg equal md
}

If $spans is a map, it specifies the values for each specified breakpoint:

.col {
  @include grid-col((
    xs: 12,
    md: 4
  ));
}

Each span can be list $x of $y, where $x - is span, $y - is override number of columns:

.col {
  @include grid-col(12 6 null (1 of 5));
}

.col2 {
  @include grid-col((
    xs: 12,
    sm: 6,
    md 1 of 5
  ));
}

$spans can be ended by of $y, where $y - is override locally number of columns:

.col {
  @include grid-col(30 15 6 of 30);
}

.col2 {
  @include grid-col((xs: 30, sm: 15, md: 6) of 30);
}

grid-prop($prop, $spans[, $settings])

Apply calculated span value (see grid-col $spans param) for $prop.

.col {
  @include grid-prop('margin-right', null 1);
}

grid-offset($spans[, $settings])

Move column by the specified number of columns by $spans with content stream (see grid-col $spans param).

.col__right {
  @include grid-offset(null 2 of 5);
}

grid-move($spans[, $settings])

Move column by the specified number of columns by $spans without changing content stream (see grid-col $spans param).

.col__left {
  @include grid-col(5 2 of 5);
  @include grid-move(null 3 of 5);
}

.col__right {
  @include grid-col(5 3 of 5);
  @include grid-move(null -2 of 5);
}

grid-width($breakpoint[, $settings])

Return min-width of named breakpoint:

.visible-sm {
  display: none;

  @media (min-width: grid-width(sm)) {
    display: block;
  }
}

grid-breakpoint($breakpoint[, $settings]) {}

Apply rules for named breakpoint:

.visible-sm {
  display: none;

  @include grid-breakpoint(sm) {
    display: block;
  }
}

$breakpoint can be map from to:

.visible-xs-sm-only {
  display: none;

  @include grid-breakpoint(xs sm) {
    display: block;
  }
}

You can skip from with null:

.visible-xs-only {
  display: none;

  @include grid-breakpoint(null xs) {
    display: block;
  }
}

Browser support

In flex mode - all browsers support flexible box layout:

In float mode - all alive browsers.

FAQs

Package last updated on 11 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts