Basic styling with Bootstrap
Including Bootstrap style in html
- Bootstrap can be included in a pages style by including the following in its head material
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
The Bootstrap grid
- The Bootsrap grid divides the current viewable space of an HTML page into 12 equally-sized columns
- Elements are positioned and sized in this grid according to how many of the 12 columns they occupy
- Bootstrap has many pre-defined classes
container
initiates a segment of html that will adhere to the 12 column gridrow
are individual rows within a container that have 12 columns worth of spacecolumn
are the content that occupy the columns of a rowjumbotron
is a special class that spans the entire page area, not just the 12 column space
Rows and columns
- The bootstrap hierarchy is container > row > item
- The following code:
<header class="container" style="background-color:green">
<div class="row" style="background-color:LightGrey">
<h1 class="col-sm-4" style="background-color:lightblue">Row1-Object1</h1>
<h1 class="col-sm-8" style="background-color:salmon">Row1-Object2</h1>
</div>
<div class="row">
<h1 class="col-sm-12">Row2-Object1</h1>
</div>
<div class="row" style="background-color:Grey">
<h1 class="col-sm-4" style="background-color:lightblue">Row3-Object1</h1>
<h1 class="col-sm-8" style="background-color:salmon">Row3-Object2</h1>
</div>
</header>
generates the following output:
Row1-Object1
Row1-Object2
Row3-Object1
Row3-Object2
Row3-Object1
Row3-Object2
- Container - all of the content is contained in a single container class
- The background color of the container is green
- Rows - notice there are 3 rows
- The first and last row have their own background colors
- The second row has no background-color, so you can see the green background of the parent container showing through around the column items
- Columns - each row has two column items
- With each row, Object1 has more proportional space
- Achieved with
col-sm-4
–>col-sm-6
–>col-sm-8
- Object2’s space decreases to keep the sum of column sizes equal to 12
- Achieved with
- Notice that even though the text doesn’t take up the entire span of the specified column size, that space is still occupied by the column
- Notice that the text doesn’t take up the full height of the row
- With each row, Object1 has more proportional space
Columns and viewing size
- The Bootstrap grid system automatically scales to the viewing area of the browser window/device
- However, at a certain point, reducing the viewing area and maintaining all grid elements proportionally will shrink grid elements to an impractical scale
- Column sizes specify when elements in a row should be positioned horizontally instead of further scaling down the elements
Extra small | Small | Medium | Large | |
---|---|---|---|---|
Class | .col-xs- |
.col-sm- |
.col-md- |
.col-lg- |
Device | Smartphone | Tablet | Laptop/Desktop | Desktop |
Behavior | Always horizontal | Horizontal until break | Horizontal until break | Horizontal until break |
Minimum viewing area before break | None | 750px | 970px | 1170px |
Column width at viewing size | Auto | ~62px | ~81px | ~97px |
- If a screen or browser window is smaller than the minimum viewing area of a size class, the objects in that row will be placed horizontally
- Above this minimum size, the elements will be placed horizontally
- Note that the extra small class has no break point and will always scale with decreased viewing area