1
1
mirror of https://github.com/primer/css.git synced 2024-11-23 20:38:58 +03:00
css/modules/primer-layout
Shawn Allen 101a8a2d5c Publish
- primer-alerts@1.5.13
 - primer-avatars@1.5.10
 - primer-base@1.9.2
 - primer-blankslate@1.5.2
 - primer-box@2.5.13
 - primer-branch-name@1.0.11
 - primer-breadcrumb@1.5.9
 - primer-buttons@2.6.4
 - primer-core@6.10.8
 - primer-forms@2.1.8
 - primer-labels@1.5.13
 - primer-layout@1.6.2
 - primer-markdown@3.7.13
 - primer-marketing-buttons@1.0.13
 - primer-marketing-support@1.5.6
 - primer-marketing-type@1.4.13
 - primer-marketing-utilities@1.7.3
 - primer-marketing@6.3.3
 - primer-navigation@1.5.11
 - primer-page-headers@1.5.3
 - primer-page-sections@1.5.3
 - primer-pagination@1.0.7
 - primer-popover@0.1.8
 - primer-product@5.8.3
 - primer-progress@0.1.3
 - primer-subhead@1.0.11
 - primer-support@4.7.2
 - primer-table-object@1.4.13
 - primer-tables@1.5.3
 - primer-tooltips@1.5.11
 - primer-truncate@1.4.13
 - primer-utilities@4.14.3
 - primer@10.10.4
 - primer-module-build@1.0.10
2019-01-11 14:33:26 -08:00
..
docs mark all examples with ERB as "erb", not "html" 2019-01-11 14:29:22 -08:00
lib Update modules/primer-layout/lib/grid-offset.scss 2018-10-17 16:24:11 -05:00
.npmignore rename packages directory to modules 2017-06-29 12:49:16 -07:00
index.scss rename packages directory to modules 2017-06-29 12:49:16 -07:00
LICENSE update year in licenses and source headers to 2019 2019-01-04 10:38:46 -08:00
package.json Publish 2019-01-11 14:33:26 -08:00
README.md add path metadata to all docs 2018-12-17 15:26:50 -08:00
stories.js Pulling in markdown components from all the rest of the modules 2018-01-09 15:27:14 -08:00

Primer Layout

npm version Build Status

Primers layout includes basic page containers and a single-tiered, fraction-based grid system. That sounds more complicated than it really is though—its just containers, rows, and columns.

This repository is a module of the full primer repository.

Install

This repository is distributed with npm. After installing npm, you can install primer-layout with this command.

$ npm install --save primer-layout

Usage

The source files included are written in Sass (scss) You can simply point your sass include-path at your node_modules directory and import it like this.

@import "primer-layout/index.scss";

You can also import specific portions of the module by importing those partials from the /lib/ folder. Make sure you import any requirements along with the modules.

Build

For a compiled css version of this module, a npm script is included that will output a css version to build/build.css The built css file is also included in the npm package.

$ npm run build

Documentation

Primer's layout includes basic page containers and a single-tiered, fraction-based grid system. That sounds more complicated than it really is though—it's just containers, rows, and columns.

You can find all the below styles in _layout.scss.

Container

Center your page's contents with a .container.

<div class="container border">
  Container
</div>

The container applies width: 980px; and uses horizontal margins to center it.

Grid

How it works

The grid is pretty standard—you create rows with .columns and individual columns with a column class and fraction class. Here's how it works:

  • Add a .container to encapsulate everything and provide ample horizontal gutter space.
  • Create your outer row to clear the floated columns with <div class="columns">.
  • Add your columns with individual <div class="column">s.
  • Add your fractional width classes to set the width of the columns (e.g., .one-fourth).
Demo

In practice, your columns will look like the example below.

<div class="container">
  <div class="columns mb-1">
    <div class="one-fifth column block-blue p-3 border">
      .one-fifth
    </div>
    <div class="four-fifths column block-blue p-3 border">
      .four-fifths
    </div>
  </div>

  <div class="columns mb-1">
    <div class="one-fourth column block-blue p-3 border">
      .one-fourth
    </div>
    <div class="three-fourths column block-blue p-3 border">
      .three-fourths
    </div>
  </div>

  <div class="columns mb-1">
    <div class="one-third column block-blue p-3 border">
      .one-third
    </div>
    <div class="two-thirds column block-blue p-3 border">
      .two-thirds
    </div>
  </div>

  <div class="columns">
    <div class="one-half column block-blue p-3 border">
      .one-half
    </div>
    <div class="one-half column block-blue p-3 border">
      .one-half
    </div>
  </div>
</div>
Centered

Columns can be centered by adding .centered to the .column class.

<div class="columns">
  <div class="one-half column centered block-blue border p-3">
    .one-half
  </div>
</div>

License

MIT © GitHub