Skip to content

Ishoshot/Space-CSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@space-css/space-css

NPM npm (scoped)

Space CSS is a highly responsive mordern trend spacing library for margins, paddings and more..

Usage

CDN

<head>
  <!-- other stuff -->
  <link rel="stylesheet" href="https://unpkg.com/@space-css/space-css@1.0.1/space.min.css"
/>
</head>

Install with npm

$ npm i @space-css/space-css

These elements have no padding:

<body>
  <h1 class="sp-p-0">Lorem ipsum</h1>
  <h2 class="sp-p-0">Dolor sit</h2>
</body>

This navigation is centered:

<body>
  <nav class="sp-m-auto">
    <a href="/">Home</a>
  </nav>
</body>

How it works

All classes are composed of some simple parts.

1.Property prefix

sp  =   space
m   =   margin
p   =   padding

All properties have !important as you should only add those classes, if you definitely want a specific behavior.

2. Possible classes (normal syntax)

Margin classes (they start with m) can have positive and negative values, padding classes (replace the leading m with a p) only have positive values.

Width and Height Sizes are specified in % sp: coined from the word space css h: height w: width mh: max-height mw: max-width

Traditional width classes

.sp-w-20
.sp-w-30
.sp-w-40
.sp-w-50
.sp-w-60
.sp-w-70
.sp-w-80
.sp-w-90
.sp-w-100
.sp-w-auto
.sp-mw-100  

Traditional height classes

.sp-h-20
.sp-h-30
.sp-h-40
.sp-h-50
.sp-h-60
.sp-h-70
.sp-h-80
.sp-h-90
.sp-h-100
.sp-h-auto
.sp-mh-100

Viewport classes

.sp-min-vw-10 - min view width
.sp-min-vh-100  - min view height
.sp-vw-100 - view width
.sp-vh-100 - view height

Margin Classes

Margin Classes With Range Of 0-10

.sp-m-    (0-10) 
.sp-mt-   (0-10)
.sp-my-   (0-10)
.sp-mr-   (0-10)
.sp-mx-   (0-10)
.sp-mb-   (0-10)
.sp-my-   (0-10)
.sp-ml-   (0-10)
.sp-mx-   (0-10)

Margin NEGATIVE Classes With Range Of 0-10

.sp-m-n    (0-10) 
.sp-mt-n   (0-10)
.sp-my-n   (0-10)
.sp-mr-n   (0-10)
.sp-mx-n   (0-10)
.sp-mb-n   (0-10)
.sp-my-n   (0-10)
.sp-ml-n   (0-10)
.sp-mx-n   (0-10)

Margin Auto

.sp-m-auto
.sp-mt-auto
.sp-my-auto
.sp-mr-auto
.sp-mx-auto
.sp-mb-auto,
.sp-my-auto 
.sp-ml-auto
.sp-mx-auto 

Margin Classes For {SM} @media (min-width: 576px) {} screens With Range Of 0-10

.sp-m-sm    (0-10) 
.sp-mt-sm   (0-10)
.sp-my-sm   (0-10)
.sp-mr-sm   (0-10)
.sp-mx-sm   (0-10)
.sp-mb-sm   (0-10)
.sp-my-sm   (0-10)
.sp-ml-sm   (0-10)
.sp-mx-sm   (0-10)

Margin NEGATIVE Classes For {SM} @media (min-width: 576px) {} screens With Range Of 0-10

.sp-m-sm-n    (0-10) 
.sp-mt-sm-n   (0-10)
.sp-my-sm-n   (0-10)
.sp-mr-sm-n   (0-10)
.sp-mx-sm-n   (0-10)
.sp-mb-sm-n   (0-10)
.sp-my-sm-n   (0-10)
.sp-ml-sm-n   (0-10)
.sp-mx-sm-n   (0-10)

Margin AUTO Class For {SM} @media (min-width: 576px) {} screens

.sp-m-sm-auto
.sp-mt-sm-auto
.sp-my-sm-auto
.sp-mr-sm-auto
.sp-mx-sm-auto
.sp-mb-sm-auto,
.sp-my-sm-auto 
.sp-ml-sm-auto
.sp-mx-sm-auto 

Margin Classes For {MD} @media (min-width: 768px) {} screens With Range Of 0-10

.sp-m-md    (0-10) 
.sp-mt-md   (0-10)
.sp-my-md   (0-10)
.sp-mr-md   (0-10)
.sp-mx-md   (0-10)
.sp-mb-md   (0-10)
.sp-my-md   (0-10)
.sp-ml-md   (0-10)
.sp-mx-md   (0-10)

Margin NEGATIVE Classes For {MD} @media (min-width: 768px) {} screens With Range Of 0-10

.sp-m-md-n    (0-10) 
.sp-mt-md-n   (0-10)
.sp-my-md-n   (0-10)
.sp-mr-md-n   (0-10)
.sp-mx-md-n   (0-10)
.sp-mb-md-n   (0-10)
.sp-my-md-n   (0-10)
.sp-ml-md-n   (0-10)
.sp-mx-md-n   (0-10)

Margin AUTO Class For {MD} @media (min-width: 768px) {} screens

.sp-m-md-auto
.sp-mt-md-auto
.sp-my-md-auto
.sp-mr-md-auto
.sp-mx-md-auto
.sp-mb-md-auto,
.sp-my-md-auto 
.sp-ml-md-auto
.sp-mx-md-auto 

Margin Classes For {LG} @media (min-width: 992px) {} screens With Range Of 0-10

.sp-m-lg    (0-10) 
.sp-mt-lg   (0-10)
.sp-my-lg   (0-10)
.sp-mr-lg   (0-10)
.sp-mx-lg   (0-10)
.sp-mb-lg   (0-10)
.sp-my-lg   (0-10)
.sp-ml-lg   (0-10)
.sp-mx-lg   (0-10)

Margin NEGATIVE Classes For {LG} @media (min-width: 992px) {} screens With Range Of 0-10

.sp-m-lg-n    (0-10) 
.sp-mt-lg-n   (0-10)
.sp-my-lg-n   (0-10)
.sp-mr-lg-n   (0-10)
.sp-mx-lg-n   (0-10)
.sp-mb-lg-n   (0-10)
.sp-my-lg-n   (0-10)
.sp-ml-lg-n   (0-10)
.sp-mx-lg-n   (0-10)

Margin AUTO Class For {LG} @media (min-width: 992px) {} screens

.sp-m-lg-auto
.sp-mt-lg-auto
.sp-my-lg-auto
.sp-mr-lg-auto
.sp-mx-lg-auto
.sp-mb-lg-auto,
.sp-my-lg-auto 
.sp-ml-lg-auto
.sp-mx-lg-auto 

Margin Classes For {XL} @media (min-width: 1200px) {} screens With Range Of 0-10

.sp-m-xl    (0-10) 
.sp-mt-xl   (0-10)
.sp-my-xl   (0-10)
.sp-mr-xl   (0-10)
.sp-mx-xl   (0-10)
.sp-mb-xl   (0-10)
.sp-my-xl   (0-10)
.sp-ml-xl   (0-10)
.sp-mx-xl   (0-10)

Margin NEGATIVE Classes For {XL} @media (min-width: 1200px) {} screens With Range Of 0-10

.sp-m-xl-n    (0-10) 
.sp-mt-xl-n   (0-10)
.sp-my-xl-n   (0-10)
.sp-mr-xl-n   (0-10)
.sp-mx-xl-n   (0-10)
.sp-mb-xl-n   (0-10)
.sp-my-xl-n   (0-10)
.sp-ml-xl-n   (0-10)
.sp-mx-xl-n   (0-10)

Margin AUTO Class For {XL} @media (min-width: 1200px) {} screens

.sp-m-xl-auto
.sp-mt-xl-auto
.sp-my-xl-auto
.sp-mr-xl-auto
.sp-mx-xl-auto
.sp-mb-xl-auto,
.sp-my-xl-auto 
.sp-ml-xl-auto
.sp-mx-xl-auto 

Padding Classes

.sp-p-    (0-10)
.sp-pt-   (0-10)
.sp-py-   (0-10)
.sp-pr-   (0-10)
.sp-px-   (0-10)
.sp-pb-   (0-10)
.sp-py-   (0-10)
.sp-pl-   (0-10)
.sp-px-   (0-10)

Padding Classes For {SM} @media (min-width: 576px) {} screens With Range Of 0-5

.sp-p-sm    (0-5) 
.sp-pt-sm   (0-5)
.sp-py-sm   (0-5)
.sp-pr-sm   (0-5)
.sp-px-sm   (0-5)
.sp-pb-sm   (0-5)
.sp-py-sm   (0-5)
.sp-pl-sm   (0-5)
.sp-px-sm   (0-5)

Padding AUTO Class For {SM} @media (min-width: 576px) {} screens

.sp-p-sm-auto
.sp-pt-sm-auto
.sp-py-sm-auto
.sp-pr-sm-auto
.sp-px-sm-auto
.sp-pb-sm-auto,
.sp-py-sm-auto 
.sp-pl-sm-auto
.sp-px-sm-auto 

Padding Classes For {MD} @media (min-width: 768px) {} screens With Range Of 0-5

.sp-p-md    (0-5) 
.sp-pt-md   (0-5)
.sp-py-md   (0-5)
.sp-pr-md   (0-5)
.sp-px-md   (0-5)
.sp-pb-md   (0-5)
.sp-py-md   (0-5)
.sp-pl-md   (0-5)
.sp-px-md   (0-5)

Padding AUTO Class For {MD} @media (min-width: 768px) {} screens

.sp-p-md-auto
.sp-pt-md-auto
.sp-py-md-auto
.sp-pr-md-auto
.sp-px-md-auto
.sp-pb-md-auto,
.sp-py-md-auto 
.sp-pl-md-auto
.sp-px-md-auto 

Padding Classes For {LG} @media (min-width: 992px) {} screens With Range Of 0-5

.sp-p-lg    (0-5) 
.sp-pt-lg   (0-5)
.sp-py-lg   (0-5)
.sp-pr-lg   (0-5)
.sp-px-lg   (0-5)
.sp-pb-lg   (0-5)
.sp-py-lg   (0-5)
.sp-pl-lg   (0-5)
.sp-px-lg   (0-5)

Padding AUTO Class For {LG} @media (min-width: 992px) {} screens

.sp-p-lg-auto
.sp-pt-lg-auto
.sp-py-lg-auto
.sp-pr-lg-auto
.sp-px-lg-auto
.sp-pb-lg-auto,
.sp-py-lg-auto 
.sp-pl-lg-auto
.sp-px-lg-auto 

Padding Classes For {XL} @media (min-width: 1200px) {} screens With Range Of 0-5

.sp-p-xl    (0-5) 
.sp-pt-xl   (0-5)
.sp-py-xl   (0-5)
.sp-pr-xl   (0-5)
.sp-px-xl   (0-5)
.sp-pb-xl   (0-5)
.sp-py-xl   (0-5)
.sp-pl-xl   (0-5)
.sp-px-xl   (0-5)

Padding AUTO Class For {XL} @media (min-width: 1200px) {} screens

.sp-p-xl-auto
.sp-pt-xl-auto
.sp-py-xl-auto
.sp-pr-xl-auto
.sp-px-xl-auto
.sp-pb-xl-auto,
.sp-py-xl-auto 
.sp-pl-xl-auto
.sp-px-xl-auto 

Notes

All space css class properties have !important as you should only add those classes, if you definitely want a specific behavior.

Width & Heights Sizes are defined in:

%

While Margin and Padding sizes are defined in

rem

But why rem? Our primary purpose of using rem is to ensure that whatever default font size a user has their browser set to, the layout will adjust to accommodate the size of text or elements within it.

If you want the the class on just one screen size, you need to set the other classes to default(0)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Authors

Made with 💜 By Oluwatobi Ishola & Folorunso Adesanya