A CSS framework made with SASS
framework.js
and framework.css
into your project directory
head
of your page.
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> <link rel="stylesheet" href="framework.css">
body
of your page.
<script src="framework.js"></script>
<nav class="navbar text-dark mb-1 bg-white"> <div class="container"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar text-dark mb-1 navbar-expand-xs bg-white"> <div class="container d-flex flex-nowrap flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar text-dark mb-1 navbar-expand-xs bg-white"> <div class="container d-flex"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar text-dark mb-1 navbar-expand-xs bg-white"> <div class="container d-flex flex-nowrap"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <div class="d-flex flex-space-between width-100"> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> </ul> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 4</a> </li> </ul> </div> </div> </nav>
<nav class="navbar bg-white text-dark navbar-expand-md mb-1"> <div class="container d-flex flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <button class="nav-toggler" data-target="#resp_nav"> <i class="fas fa-bars"></i> </button> <ul class="nav collapsed" id="resp_nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar bg-white text-dark navbar-expand-md mb-1"> <div class="container d-flex flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <button class="nav-toggler" data-target="#resp_nav2"> <i class="fas fa-bars"></i> </button> <ul class="nav collapsed" id="resp_nav2"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> <li class="nav-form input-group"> <input type="text" class="nav-textbox" placeholder="Search"> <button class="btn nav-btn"><i class="fas fa-search"></i></button> </li> </ul> </div> </nav>
<nav class="navbar text-light mb-1 navbar-expand-xs bg-black"> <div class="container d-flex flex-nowrap flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar text-light mb-1 navbar-expand-xs bg-blue"> <div class="container d-flex flex-nowrap flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar mb-1 navbar-expand-xs theme-navy"> <div class="container d-flex flex-nowrap flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <ul class="nav"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> </ul> </div> </nav>
<nav class="navbar theme-navy navbar-expand-md"> <div class="container d-flex flex-space-between"> <div class="navbar-brand"> <a href="#">Logo</a> </div> <button class="nav-toggler" data-target="#resp_nav3"> <i class="fas fa-bars"></i> </button> <ul class="nav collapsed" id="resp_nav3"> <li class="nav-item"> <a href="#" class="nav-link">Link 1</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 2</a> </li> <li class="nav-item"> <a href="#" class="nav-link">Link 3</a> </li> <li class="nav-form input-group"> <input type="text" class="nav-textbox theme-blue" placeholder="Search"> <button class="btn nav-btn theme-blue"><i class="fas fa-search"></i></button> </li> </ul> </div> </nav>
Code | Minimum screen size |
---|---|
xs |
0px |
sm |
576px |
md |
768px |
lg |
992px |
xl |
1200px |
Usage: col-{breakpoint}-{size}
size
can be anywhere from 1
to 12
breakpoint
can be xs
, sm
, md
, lg
or xl
The grid can be divided into 12 equal columns. Applying col-xs-8
on a grid element extends it to the 3/4 of the width of the grid on xs
sized screens (e.g mobile phones). Combining it with col-md-6
will make it so that it only covers half the grid width on md
sized screens (e.g. tablets) but still covers 3/4 of the grid width on xs
sized screens.
<div class="row"> <div class="col-xs-8 col-md-6 theme-aqua center"> col-xs-8 and col-md-6 </div> </div>
Offset adds a margin to the left side of the grid element.
<div class="row"> <div class="col-xs-8 offset-xs-2 theme-black center"> col-xs-8 <br> with offset-xs-2 </div> </div>
<form class="p-1 col-md-6 offset-md-3 bg-white rounded-5"> <h2>Sign In</h2> <label class="form-control" for="textbox1">Username</label> <input type="text" id="textbox1" class="form-control input-block"> <label class="form-control" for="password1">Password</label> <input type="password" id="password1" class="form-control input-block"> <label><input type="checkbox"> Remember me</label> <button type="submit" class="btn input-block">Sign In</button> </form>
<form class="p-1 col-md-6 offset-md-3 theme-navy rounded-5"> <h2>Sign In</h2> <label for="textbox2" class="form-control">Username</label> <input type="text" id="textbox2" class="theme-blue form-control input-block"> <label for="password2" class="form-control">Password</label> <input type="password" id="password2" class="theme-blue form-control input-block"> <label><input type="checkbox"> Remember me</label> <button type="submit" class="btn input-block theme-blue">Sign In</button> </form>
<div class="input-group col-md-6 offset-md-3 width-100 border"> <input type="text" id="textbox2" placeholder="Search" class="form-inline width-100"> <button type="button" class="btn flex-shrink-0">Search</button> </div>
<form class="p-1 col-md-6 offset-md-3 bg-white rounded-5"> <h2>Subscribe</h2> <label for="textbox3" class="form-control">Name</label> <input type="text" id="textbox3" class="form-control input-block"> <label for="textbox4" class="form-control">Email</label> <input type="email" id="textbox4" class="form-control input-block"> <div class="input-group"> <button type="reset" class="btn input-block">Reset</button> <button type="submit" class="btn input-block">Submit</button> </div> </form>
Usage: Add theme-{color}
class to the element.
Replace {color}
with any preset color from the grid below.
ex. theme-navy
sets an element's theme to navy blue.
Usage: Add bg-{color}
class to the element.
Replace {color}
with any preset color from the grid below.
ex. bg-navy
sets an element's background color to navy blue.
Usage: Simply add the name of the color to the class of the element.
ex. blue
changes an element's text color to blue.
Note: {border-width}
can be anywhere from 0
to 10
(in pixels)
Class: border
Class: no-border
Class: b-{border-width}
Class: bt-{border-width}
Class: bb-{border-width}
Class: bl-{border-width}
Class: br-{border-width}
Class: bx-{border-width}
Class: by-{border-width}
Note: {padding-width}
can be anywhere from 0
to 10
(in rems)
Class: p-{padding-width}
Class: pt-{padding-width}
Class: pb-{padding-width}
Class: pl-{padding-width}
Class: pr-{padding-width}
Class: py-{padding-width}
Class: px-{padding-width}
Note: {margin-width}
can be anywhere from 0
to 10
(in rems)
Class: m-{margin-width}
Class: mt-{margin-width}
Class: mb-{margin-width}
Class: ml-{margin-width}
Class: mr-{margin-width}
Class: my-{margin-width}
Class: mx-{margin-width}
d-block
d-inline
d-inline-block
d-flex
hidden
, d-hidden
, or d-none
float-left
float-right
clearfix
left
right
center
flex-start
flex-end
flex-center
flex-space-around
flex-space-between
flex-direction-row
flex-direction-column
flex-wrap
flex-nowrap
flex-grow-1
flex-grow-0
flex-shrink-1
flex-shrink-0
rounded-{radius}
rounded-5
rounded-circle
border
no-border
b-{border-width}
b-5
produces a 5px border
b{direction}-{border-width}
t
(top), b
(bottom),
l
(left), r
(right),
x
(left and right) and y
(top and bottom)
e.g. bt-5
produces a 5px border to the top
m-{width}
and p-{width}
m-2
produces a 2 rem margin, p-2
produces a 2 rem margin
m{direction}-{width}
and p{direction}-{width}
t
(top), b
(bottom),
l
(left), r
(right),
x
(left and right) and y
(top and bottom)
e.g. mt-2
produces a 2 rem margin to the top, px-3
produces 3 rem paddings to the left and right sides.
text-shadow
overflow-hidden
overflow-auto
code-block