Giter VIP home page Giter VIP logo

scalescss.github.io's Introduction

This library is no longer being maintained

Scales has been pulled directly into https://github.com/sparkdesignsystem/spark-design-system and is no longer being directly maintained.

Scales

Scales is a modular CSS framework for quickly building responsive web projects. It clocks in at only 3.8kb when minified and gzipped.

It is purposely "design-free" so that there is nothing you will have to change. Instead, you will build your design on top of the foundation that Scales provides.

This is a framework for serious developers and designers who aren't afraid to get their hands dirty with advanced and sometimes challenging CSS concepts. A framework shouldn't do your work for you or make all of the decisions. Scales tries it's best to stay out of your way.

Scales is a highly scalable CSS architecture, it contains design patterns (scales in nature form patterns), and it is responsive so it scales to the width of the viewport. So clever it hurts.

Monorepo

Scales is managed as a monorepo. All of the Scales source code lives in a single repo, but is released as separate packages using Lerna.

Looking for the previous version of scales?

Scales 2.6.1

Techniques/Concepts Used in Scales

  • ITCSS (Inverted Triangle CSS) architecture
  • Object Oriented CSS Design Patterns
  • Responsive Design
  • Sass/scss
  • BEM (Block, Element, Modifier)-style naming convention

Browser Support

Scales uses box-sizing: border-box;, and display: table-cell;, neither of which are supported in IE7 and under. There are a few media queries, but they are an enhancement. Thus, Scales is only for IE9+ and any modern browser, but IE8 is also mostly covered.

Dependencies

  • Sass - Either Ruby Sass or Libsass.
  • NPM - To pull all of the scales packages together.

Setup

Make sure you have the dependencies installed on your system and then, from the root directory of your project, run:

npm install --save @scalescss/scalescss

Next you will want to create 3 files (name them whatever you want):

  1. A settings/variables file. ex. _settings.scss
  2. A file to import all of the Scales packages. ex. _scalescss.scss
  3. A main file to import the settings, Scales packages, and all of your project partials. ex. styles.scss

Settings/Variables

Scales exposes a large number of variables that allow you to customize nearly everything.

Have a look at all of the available variables.

The Scales Packages

Each piece of Scales is its own package on npm. Once you have all of the packages in your project, you will need to import them into your project. I recommend creating a _scalescss.scss file that imports everything.

The order of the imports is very important!

See an example of the correct import order.

Main Sass File

Once you have these files sorted out, you will want to create a main Scss file that will import your settings, Scales, and the rest of your project partials. This is the file that will get compiled into CSS:

@import your-project/settings;
@import your-project/scalescss;
@import your-project/project-partial;
@import your-project/project-partial;
@import your-project/project-partial;
@import your-project/project-partial;

Compile to CSS

Once you have these things set up you simply need to tell Sass what to compile:

$ sass your-project/styles.scss your-project/css/styles.css

There are many other options for compiling that you can find in the Sass Documentation. You can also look into using a task runner like Gulp or a module bundler like Webpack.

Pattern Library

The scalescss package includes an index.html file that serves as a basic pattern library for Scales. It shows all of the available patterns in their default state. This can be used as a reference, for testing, or styled into a more complete pattern library with your project's patterns as well.

Props

This couldn't have been done without the amazing work of Harry Roberts on inuitcss. A number of the design patterns and techniques in Scales were borrowed or adapted from inuitcss.

I also wanted to thank Nicole Sullivan for her work on OOCSS, without which I would not be the developer I am today.

Sites using Scales

v2

v1

Meta

Devtroit

scalescss.github.io's People

Contributors

yodasw16 avatar

Watchers

 avatar  avatar

Forkers

yodasw16

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.