Installation
Clone or Download
import styleheets
<link href="path/to/dist/variables.scss" rel="stylesheet">
<link href="path/to/dist/base.scss" rel="stylesheet">
Note: variables.scss must be first called before the base.scss, you can override the default variables by adding a new file and call it right after the variables.scss
<link href="path/to/dist/variables.scss" rel="stylesheet">
<link href="path/to/dist/custom-variables.scss" rel="stylesheet">
<link href="path/to/dist/base.scss" rel="stylesheet">
Install using npm
npm install starter-css --save
add on ionic project
open theme/variables.scss, import variables.scss right after the $colors array to register the default variables
@import '../../node_modules/starter-css/dist/variables.scss';
then, at the same file import base.scss at the bottom part of the file
@import '../../node_modules/starter-css/dist/base.scss'
Variables
To override default variables you can create another file and import it next to variables.scss
@import '../../node_modules/starter-css/dist/variables.scss';
@import '../path/to/custom_variables.scss';
Note: you can add another property and set it's value on every array variables
breakpoints
$breakpoints : (
xs: 0,
sm : 576px,
md : 768px,
lg : 992px,
xl : 1200px,
);
container
$container : (
xs: 100%,
sm : 90%,
md : 88%,
lg : 90%,
xl : 80%,
);
colors
$colors: (
primary: #488aff,
secondary: #32db64,
danger: #f53d3d,
light: #f4f4f4,
dark: #222
);
spacing
$min-space-value: 0;
$max-space-value: 200;
font size
$max-size-value: 100;
icons
$icon-path-url: '../../../assets/imgs/icons/';
$icons-array : ();
$icons-array-uri: ();
truncate lines
$truncate-lines-max: 10;
col
$col-gutter: 15px;
$col-count: 12;
body
$body-line-height: 27px;
Utility Classes
Note: -{$suffix} variables are the list of properties under breakpoints array; (xs, sm, md, lg, xl). Disregard xs when using it. eg: .col-12
When utility class has a -{$suffix}, style will affect only when screen width is equal or greater than the value of the suffix. eg: sm = 576, in this case the class will take effect when the screen is equal or greater than 576px
backgrounds
class | properties |
---|
bg-{$color} | background: {$color} |
bg-fixed | background-attachment: fixed; |
bg-local | background-attachment: local; |
bg-scroll | background-attachment: scroll; |
bg-bottom | background-position: bottom; |
bg-center | background-position: center; |
bg-left | background-position: left; |
bg-left-bottom | background-position: left bottom; |
bg-left-top | background-position: left top; |
bg-right | background-position: right; |
bg-right-bottom | background-position: right bottom; |
bg-right-top | background-position: right top; |
bg-top | background-position: top; |
bg-repeat | background-repeat: repeat; |
bg-no-repeat | background-repeat: no-repeat; |
bg-repeat-x | background-repeat: repeat-x; |
bg-repeat-y | background-repeat: repeat-y; |
bg-auto | background-size: auto; |
bg-cover | background-size: cover; |
bg-contain | background-size: contain; |
display
class | properties |
---|
block-{$suffix} | display: block |
none-{$suffix} | display: none |
flex-{$suffix} | display: flex |
inline-flex-{$suffix} | display: inline-flex |
inline-{$suffix} | display: inline |
inline-block-{$suffix} | display: inline-block |
flex
class | properties |
---|
direction |
flex-row-{$suffix} | flex-direction: row; |
flex-row-reverse-{$suffix} | flex-direction: row-reverse; |
flex-col-{$suffix} | flex-direction: column; |
flex-col-reverse-{$suffix} | flex-direction: column-reverse; |
wrap | |
flex-wrap-{$suffix} | flex-wrap: wrap; |
flex-no-wrap-{$suffix} | flex-wrap: nowrap; |
flex-wrap-reverse-{$suffix} | flex-wrap: wrap-reverse; |
align items | |
items-stretch-{$suffix} | align-items: stretch; |
items-start-{$suffix} | align-items: flex-start; |
items-center-{$suffix} | align-items: center; |
items-end-{$suffix} | align-items: flex-end; |
items-baseline-{$suffix} | align-items: baseline; |
align content | |
content-start-{$suffix} | align-content: flex-start; |
content-center-{$suffix} | align-content: center; |
content-end-{$suffix} | align-content: flex-end; |
content-between-{$suffix} | align-content: space-between; |
content-around-{$suffix} | align-content: space-around; |
align self | |
self-start-{$suffix} | align-self: flex-start; |
self-end-{$suffix} | align-self: flex-end; |
self-center-{$suffix} | align-self: center; |
self-stretch-{$suffix} | align-self: stretch; |
self-auto-{$suffix} | align-self: auto; |
justify content | |
justify-start-{$suffix} | justify-content: flex-start; |
justify-center-{$suffix} | justify-content: center; |
justify-end-{$suffix} | justify-content: flex-end; |
justify-between-{$suffix} | justify-content: space-between; |
justify-around-{$suffix} | justify-content: space-around; |
flex, grow, shrink | |
flex-initial-{$suffix} | flex: initial; |
flex-1-{$suffix} | flex: 1; |
flex-auto-{$suffix} | flex: auto; |
flex-none-{$suffix} | flex: none; |
flex-grow-{$suffix} | flex-grow: 1; |
flex-shrink-{$suffix} | flex-shrink: 1; |
flex-no-grow-{$suffix} | flex-grow: 0; |
flex-no-shrink-{$suffix} | flex-shrink: 0; |
floats
class | properties |
---|
float-{$suffix}-left | float: left; |
float-{$suffix}-right | float: right; |
float-{$suffix}-none | float: none; |
grids
class | properties |
---|
row | display: flex; margin-left: $col-gutter -1; margin-right: $col-gutter -1; |
col-{$suffix}-{$value} | max-width: (100% / $col-count) $i; flex: 0 0 (100% / $col-count) $i; padding-left: $col-gutter; padding-right: $col-gutter; |
icons
class | properties |
---|
app-svg-#{$icon} | mask-image: url(#{$icon-path-url}#{$icon}.svg); or mask-image: url(#{$data}); |
image
class | properties |
---|
img | wdith: 100%; height: 100%; |
img cover | object-fit: cover; |
img contain | object-fit: contain; |
img fill | object-fit: fill; |
interactivity
class | properties |
---|
appearance-none | appearance: none; |
cursor-auto | cursor: auto; |
cursor-default | cursor: default; |
cursor-pointer | cursor: pointer; |
cursor-wait | cursor: wait; |
cursor-move | cursor: move; |
cursor-not-allowed | cursor: not-allowed; |
outline-none | outline: 0; |
pointer-events-none | pointer-events: none; |
pointer-events-auto | pointer-events: auto; |
resize-none | resize: none; |
resize | resize: both; |
resize-y | resize: vertical; |
resize-x | resize: horizontal; |
select-none | user-select: none; |
select-text | user-select: text; |
position
class | properties |
---|
relative | position: relative; |
absolute | position: absolute; |
fixed | position: fixed; |
absolute-vertical | position: absolute; top: 50%; transform: translateY(-50%); |
absolute-horizontal | position: absolute; left: 50%; transform: translateX(-50%); |
absolute-center | position: absolute; top: 50%; transform: translate(-50%, -50%); |
flex-vertical | displat: flex; align-items: center; |
flex-horizontal | displat: flex; justify-content: center; |
flex-center | displat: flex; justify-content: center; align-items: center; |
font sizing
class | properties |
---|
font-{$suffix}-{$value} | font-size: {$value} |
spacing
class | properties |
---|
m-t-{$suffix}-{$value} | margin-top: {$value} |
m-b-{$suffix}-{$value} | margin-bottom: {$value} |
m-l-{$suffix}-{$value} | margin-left: {$value} |
m-r-{$suffix}-{$value} | margin-right: {$value} |
p-t-{$suffix}-{$value} | padding-top: {$value} |
p-b-{$suffix}-{$value} | padding-bottom: {$value} |
p-l-{$suffix}-{$value} | padding-left: {$value} |
p-r-{$suffix}-{$value} | padding-right: {$value} |
m-{$suffix}-{$value} | margin: {$value} |
p-{$suffix}-{$value} | padding: {$value} |
mx-{$suffix}-{$value} | margin-left: {$value}; margin-right: {$value}; |
my-{$suffix}-{$value} | margin-top: {$value}; margin-bottom: {$value}; |
px-{$suffix}-{$value} | padding-left: {$value}; padding-right: {$value}; |
py-{$suffix}-{$value} | padding-top: {$value}; padding-bottom: {$value}; |
mx-{$suffix}-auto | margin-left: auto; margin-right: auto; |
ml--{$suffix}-auto | margin-left: auto; |
table
class | properties |
---|
table | width: 100%; |
border-collapse | border-collapse: collapse; |
border-separate | border-collapse: separate; |
table-auto | table-layout: auto; |
table-fixed | table-layout: fixed; |
text
class | properties |
---|
text-{$suffix}-uppercase | text-transform: uppercase |
text-{$suffix}-lowercase | text-transform: lowercase |
text-{$suffix}-capitalize | text-transform: capitalize |
text-{$suffix}-left | text-align: left |
text-{$suffix}-right | text-align: right |
text-{$suffix}-center | text-align: center |
text-{$suffix}-justify | text-align: justify |
normal | font-style: normal |
italic | font-style: italic |
oblique | font-style: oblique |
initial | font-style: initial |
text-#{$color} | color: #{$color} |
list-reset | list-style: none; padding: 0; |
truncate-text-{$value} | webkit-line-clamp: {$value} |