Skip to content

ungoldman/style.css

Repository files navigation

shoshinsha

style.css

A classless stylesheet for HTML documents.

npm build downloads

About

Make a plain HTML page look good and readable with zero effort!

Check out the style guide to see what it looks like.

Features

  • system fonts: looks native on macOS, iOS, windows, linux, firefox OS, android.
  • great for text: designed to be highly readable and easy on the eyes.
  • very small API: with zero classes, there's nothing to learn!
  • expertly crafted: composed out of a balanced selection of stylistic practices.
  • we've got serif: includes a serif variant for that edgy look.
  • minimal size: weighs in at a modest 7kb unminified.

Install

download style.css download serif.css

<!-- CDN Development (always latest) -->
<link rel="stylesheet" href="https://unpkg.com/style.css">
<!-- CDN Production (specific release) -->
<link rel="stylesheet" href="https://unpkg.com/style.css@1.0.0">
# npm package
$ npm install style.css
/* CSS file */
@import url('https://unpkg.com/style.css/style.css');

Usage

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Hello World</title>
    <link rel="stylesheet" href="https://unpkg.com/style.css@latest/style.css">
  </head>
  <body>
    <h1>Hooray!</h1>
  </body>
</html>

The best way to get familiar with the look and feel of style.css is to visit the style guide. Detailed examples of every HTML element (and how to write them in markdown) are available there.

Node

npm install style.css --save-dev

You can use a CSS bundler like sheetify to require style.css like a node module.

const sf = require('sheetify')

sf('style.css')

Note that any external CSS files imported with sheetify must be compiled using browserify or sheetify-postcss.

Here are some other modules out there for requiring CSS using JavaScript that should also work just fine:

Sass

You can also use style.css with Sass.

@import 'path/to/node_modules/style.css/style.scss';

Same goes for the serif variant.

@import 'path/to/node_modules/style.css/serif.scss';

Sass allows you to override defaults more directly. Here are the default settings for style.css:

$font-body:         $system-sans !default;
$font-code:         $system-mono !default;
$font-size-body:    14px !default;
$font-size-scale:   0.25vw !default;
$line-height-body:  1.55 !default;
$line-height-pre:   1.45 !default;
$link-color:        #0074d9 !default;

Using Sass with node_modules

Protip: Sass is easier to use with node_modules when you use the include-path option. Here's an example of how to use it with node-sass on the command line.

node-sass style.scss -o style.css --include-path node_modules/

This way you can exclude the node_modules/ path prefix in your Sass source code.

Overriding settings

You can override settings like so:

$font-size-body: 14px;

@import 'style.css/style.scss';

If you want to use the font stacks to override global font settings, you can do so like this:

@import 'style.css/src/scss/fonts.scss';

$font-body: $system-serif;

@import 'style.css/style.scss';

The above snippet is how serif.css is generated.

Development

To get started, clone the repository and install dependencies with npm install.

Tinker

  • Run npm start to start the site.
  • Edit scss source files in src/.
  • Watch the style guide at localhost:8000/guide.html for changes.

Test

Run npm test to check the generated CSS for errors and issues not caught by the Sass compiler.

We're using stylelint with a slightly modified version of stylelint-config-standard for now.

Generate

Generate style.css from style.scss by running npm run generate.

Release

Publish a new release with npm run release.

The prerelease task will generate CSS, run tests, check if the git index is dirty, and exit if there are any problems. If all goes well, gh-release and npm publish will be run sequentially.

Thanks

style.css is only possible due to the excellent work of the following collaborators:

nikolaswisegithub/nikolaswise
paulcpedersongithub/paulcpederson
ungoldmangithub/ungoldman

The following projects were major influences on style.css:

Contributing

Contributions welcome! Please read the contributing guidelines first.

Version History

Please see the Change Log for a list of all notable changes between versions.

License

ISC

Shoshinsha image is from emojipedia.