472e2307b3
- primer-alerts@1.5.8 - primer-avatars@1.5.5 - primer-base@1.7.3 - primer-blankslate@1.4.8 - primer-box@2.5.8 - primer-branch-name@1.0.6 - primer-breadcrumb@1.5.4 - primer-buttons@2.5.6 - primer-core@6.10.2 - primer-forms@2.1.3 - primer-labels@1.5.8 - primer-layout@1.4.8 - primer-markdown@3.7.8 - primer-marketing-buttons@1.0.7 - primer-marketing-support@1.5.3 - primer-marketing-type@1.4.8 - primer-marketing-utilities@1.6.4 - primer-marketing@6.2.3 - primer-navigation@1.5.6 - primer-page-headers@1.4.8 - primer-page-sections@1.4.8 - primer-pagination@1.0.2 - primer-popover@0.1.2 - primer-product@5.6.5 - primer-subhead@1.0.6 - primer-support@4.5.5 - primer-table-object@1.4.8 - primer-tables@1.4.8 - primer-tooltips@1.5.6 - primer-truncate@1.4.8 - primer-utilities@4.11.2 - primer@10.7.0 - generator-primer-module@1.0.7 - primer-module-build@1.0.4 - stylelint-config-primer@2.2.9 - stylelint-selector-no-utility@1.8.9 |
||
---|---|---|
.. | ||
docs | ||
lib | ||
.npmignore | ||
index.scss | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
stories.js |
Primer Layout
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.
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 margin
s 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>