Essential CSS
How to use Essential CSS
NPM
npm install essentialcss
Then include it in your build system, or import it directly from node_modules/essentialcss/dist/essential.css.
Direct Download
Download essential.cssDownload essential-hljs.css
Table Of Contents
Typography
Paragraphs
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nostrum non unde laborum officia doloremque, repudiandae laudantium nihil! Sed at omnis eos a obcaecati. Mollitia minus voluptatem velit, assumenda ipsa esse!</p>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nostrum non unde laborum officia doloremque, repudiandae laudantium nihil! Sed at omnis eos a obcaecati. Mollitia minus voluptatem velit, assumenda ipsa esse!
Headings
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Text Markup
<p><strong>strong</strong> <i>italics</i> <del>strike</del> <u>underline</u> <sub>sub</sub> Normal <sup>super</sup> <b>bold</b> <mark>highlighted</mark></p>
strong italics strike
underline sub Normal super
bold highlighted
Lists
<ol>
<li>Item 1</li>
<li>Item 2</li>
<li>
Item 3
<ol>
<li>Sub Item 1</li>
<li>Sub Item 2</li>
<li>Sub Item 3</li>
</ol>
</li>
</ol>
- Item 1
- Item 2
-
Item 3
- Sub Item 1
- Sub Item 2
- Sub Item 3
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>
Item 3
<ul>
<li>Sub Item 1</li>
<li>Sub Item 2</li>
<li>Sub Item 3</li>
</ul>
</li>
</ul>
- Item 1
- Item 2
-
Item 3
- Sub Item 1
- Sub Item 2
- Sub Item 3
Layout
Display
| Class | CSS Value |
|---|---|
d-b |
block |
d-ib |
inline-block |
d-i |
inline |
d-f |
flex |
d-if |
inline-flex |
Flexbox
<div class="d-f">
<div style="width: 100px">100px</div>
<div class="flex">flex</div>
</div>
<div class="d-f">
<div class="flex">flex</div>
<div class="flex">flex</div>
</div>
<div class="d-f">
<div class="flex">flex</div>
<div class="flex-2">flex-2</div>
</div>
<div class="d-f">
<div class="flex">flex</div>
<div class="flex-3">flex-3</div>
</div>
Grid System
<div class="row">
<div class="col">col</div>
<div class="col">col</div>
<div class="col">col</div>
</div>
<div class="row">
<div class="col span-4">col span-4</div>
<div class="col span-8">col span-8</div>
</div>
Responsive Grid
<div class="row">
<div class="col d-span-3 t-span-6 m-span-12">
col d-span-3 t-span-6 m-span-12
</div>
<div class="col d-span-3 t-span-6 m-span-12">
col d-span-3 t-span-6 m-span-12
</div>
<div class="col d-span-3 t-span-6 m-span-12">
col d-span-3 t-span-6 m-span-12
</div>
<div class="col d-span-3 t-span-6 m-span-12">
col d-span-3 t-span-6 m-span-12
</div>
</div>
Alternative Responsive Grid
<div class="row">
<div class="col" style="min-width: 150px">
col, min-width: 150px
</div>
<div class="col" style="min-width: 200px">
col, min-width: 200px
</div>
<div class="col" style="min-width: 300px">
col, min-width: 300px
</div>
</div>
Borders & Spacing
Borders
<div class="b">b</div>
<div class="bt">bt</div>
<div class="br">br</div>
<div class="bb">bb</div>
<div class="bl">bl</div>
<div class="bx">bx</div>
<div class="by">by</div>
Border Radius
<!-- All corners -->
<div class="r">r</div>
<div class="round">round</div>
<!-- Individual corners -->
<div class="rtl">rtl</div>
<div class="rtr">rtr</div>
<div class="rbr">rbr</div>
<div class="rbl">rbl</div>
<!-- Side combinations -->
<div class="rt">rt</div>
<div class="rb">rb</div>
<div class="rl">rl</div>
<div class="rr">rr</div>
Border Radius Classes
| Class | Description |
|---|---|
r |
All corners (0.25rem) |
round |
Fully rounded (9999rem) |
rtl |
Top-left corner only |
rtr |
Top-right corner only |
rbr |
Bottom-right corner only |
rbl |
Bottom-left corner only |
rt |
Top corners (left + right) |
rb |
Bottom corners (left + right) |
rl |
Left corners (top + bottom) |
rr |
Right corners (top + bottom) |
Note: Add 0 suffix (e.g.,
r0, rt0) to cancel border radius.
Padding
Color Legend
- Green = Padding
- Orange = Margins
- Red = Negative Margins
- Red Border = Cancelled Margins
Additional styles may be added to the example output (borders, spacing, colors) for demonstration.
<div class="p">p</div>
<div class="pt">pt</div>
<div class="pr">pr</div>
<div class="pb">pb</div>
<div class="pl">pl</div>
<div class="px">px</div>
<div class="py">py</div>
Margins
<div class="m">m</div>
<div class="mt">mt</div>
<div class="mr">mr</div>
<div class="mb">mb</div>
<div class="ml">ml</div>
<div class="mx">mx</div>
<div class="my">my</div>
Negative Margins
<div class="-m">-m</div>
<div class="-mt">-mt</div>
<div class="-mr">-mr</div>
<div class="-mb">-mb</div>
<div class="-ml">-ml</div>
<div class="-mx">-mx</div>
<div class="-my">-my</div>
Cancelled Margins
<div class="m m0">m m0</div>
<div class="m mt0">m mt0</div>
<div class="m mr0">m mr0</div>
<div class="m mb0">m mb0</div>
<div class="m ml0">m ml0</div>
<div class="m mx0">m mx0</div>
<div class="m my0">m my0</div>
Inputs
Basic Inputs
<input placeholder="Input" />
<textarea placeholder="Textarea"></textarea>
<select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
<select multiple>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
<option>Option 5</option>
<option>Option 6</option>
</select>
Labels
<label for="input">Input:</label>
<input id="input" />
Checkbox / Radio
<input type="checkbox" id="check1" />
<label for="check1" class="checkbox">Check 1</label>
<input type="checkbox" id="check2" />
<label for="check2" class="checkbox">Check 2</label>
<input type="radio" name="radios" id="rad1" />
<label for="rad1" class="checkbox">Radio 1</label>
<input type="radio" name="radios" id="rad2" />
<label for="rad2" class="checkbox">Radio 2</label>
Buttons
Button Types
<button>button</button>
<input type="button" value="input" />
<input type="submit" value="submit input" />
<a href="#" class="btn">a.btn</a>
Button Colors
<button>Default</button>
<button class="primary">Primary</button>
<button class="secondary">Secondary</button>
<button class="success">Success</button>
<button class="warning">Warning</button>
<button class="danger">Danger</button>
Button Sizes
<button class="small">Small</button>
<button>Normal</button>
<button class="large">Large</button>
Button Groups
<div class="btn-grp">
<button>Default</button>
<button>Default</button>
<button>Default</button>
</div>
No Styles
<button class="no-style">no-style</button>
<button class="no-btn">no-btn</button>
Tables
Basic Table
<table>
<thead>
<tr>
<th>Field 1</th>
<th>Field 2</th>
<th>Field 3</th>
<th>Field 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 - Data 1</td>
<td>Row 1 - Data 2</td>
<td>Row 1 - Data 3</td>
<td>Row 1 - Data 4</td>
</tr>
<tr>
<td>Row 2 - Data 1</td>
<td>Row 2 - Data 2</td>
<td>Row 2 - Data 3</td>
<td>Row 2 - Data 4</td>
</tr>
<tr>
<td>Row 3 - Data 1</td>
<td>Row 3 - Data 2</td>
<td>Row 3 - Data 3</td>
<td>Row 3 - Data 4</td>
</tr>
</tbody>
</table>
| Field 1 | Field 2 | Field 3 | Field 4 |
|---|---|---|---|
| Row 1 - Data 1 | Row 1 - Data 2 | Row 1 - Data 3 | Row 1 - Data 4 |
| Row 2 - Data 1 | Row 2 - Data 2 | Row 2 - Data 3 | Row 2 - Data 4 |
| Row 3 - Data 1 | Row 3 - Data 2 | Row 3 - Data 3 | Row 3 - Data 4 |
Responsive Table
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>Field 1</th>
<th>Field 2</th>
<th>Field 3</th>
<th>Field 4</th>
<th>Field 5</th>
<th>Field 6</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 - Data 1</td>
<td>Row 1 - Data 2</td>
<td>Row 1 - Data 3</td>
<td>Row 1 - Data 4</td>
<td>Row 1 - Data 5</td>
<td>Row 1 - Data 6</td>
</tr>
<tr>
<td>Row 2 - Data 1</td>
<td>Row 2 - Data 2</td>
<td>Row 2 - Data 3</td>
<td>Row 2 - Data 4</td>
<td>Row 2 - Data 5</td>
<td>Row 2 - Data 6</td>
</tr>
<tr>
<td>Row 3 - Data 1</td>
<td>Row 3 - Data 2</td>
<td>Row 3 - Data 3</td>
<td>Row 3 - Data 4</td>
<td>Row 3 - Data 5</td>
<td>Row 3 - Data 6</td>
</tr>
</tbody>
</table>
</div>
| Field 1 | Field 2 | Field 3 | Field 4 | Field 5 | Field 6 |
|---|---|---|---|---|---|
| Row 1 - Data 1 | Row 1 - Data 2 | Row 1 - Data 3 | Row 1 - Data 4 | Row 1 - Data 5 | Row 1 - Data 6 |
| Row 2 - Data 1 | Row 2 - Data 2 | Row 2 - Data 3 | Row 2 - Data 4 | Row 2 - Data 5 | Row 2 - Data 6 |
| Row 3 - Data 1 | Row 3 - Data 2 | Row 3 - Data 3 | Row 3 - Data 4 | Row 3 - Data 5 | Row 3 - Data 6 |
Colors
Background
<div class="bg-alt">Alternate</div>
<div class="bg-inv">Inverse</div>
<div class="bg-primary">Primary</div>
<div class="bg-secondary">Secondary</div>
<div class="bg-success">Success</div>
<div class="bg-warning">Warning</div>
<div class="bg-danger">Danger</div>
Text Colors
<p>Normal</p>
<p class="tc-muted">Muted</p>
<p class="tc-inv">Inverse</p>
<p class="tc-primary">Primary</p>
<p class="tc-secondary">Secondary</p>
<p class="tc-success">Success</p>
<p class="tc-warning">Warning</p>
<p class="tc-danger">Danger</p>
Normal
Muted
Inverse
Primary
Secondary
Success
Warning
Danger