7bbffd5733
- primer-alerts@1.1.3-monobeta.0 - primer-avatars@0.4.7-monobeta.0 - primer-base@1.0.1-monobeta.0 - primer-blankslate@0.3.6-monobeta.0 - primer-box@2.1.3-monobeta.0 - primer-breadcrumb@0.1.2-monobeta.0 - primer-buttons@2.0.1-monobeta.0 - primer-cards@0.1.3-monobeta.0 - primer-core@3.0.1-monobeta.0 - primer-css@6.0.1-monobeta.0 - primer-forms@1.0.7-monobeta.0 - primer-labels@1.1.1-monobeta.0 - primer-layout@0.3.3-monobeta.0 - primer-markdown@3.3.8-monobeta.0 - primer-marketing-type@0.2.1-monobeta.0 - primer-marketing-utilities@0.1.5-monobeta.0 - primer-marketing@3.0.1-monobeta.0 - primer-navigation@1.0.1-monobeta.0 - primer-page-headers@0.1.2-monobeta.0 - primer-page-sections@0.1.2-monobeta.0 - primer-product@3.0.1-monobeta.0 - primer-table-object@1.0.4-monobeta.0 - primer-tables@0.1.3-monobeta.0 - primer-tooltips@0.5.5-monobeta.0 - primer-truncate@0.3.3-monobeta.0 - primer-utilities@4.2.5-monobeta.0 |
||
---|---|---|
.. | ||
lib | ||
.gitignore | ||
.npmignore | ||
.postcss.json | ||
.stylelintrc.json | ||
CHANGELOG.md | ||
index.scss | ||
LICENSE | ||
package.json | ||
README.md |
Primer CSS 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-css 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">
<!-- contents here -->
</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 p-3">
.one-half
</div>
</div>