Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/franciscop/picnic

:handbag: A beautiful CSS library to kickstart your projects
https://github.com/franciscop/picnic

Last synced: about 19 hours ago
JSON representation

:handbag: A beautiful CSS library to kickstart your projects

Awesome Lists containing this project

README

        

# Picnic CSS

Unpack your meal and get coding. An invasive CSS library to get your style started. [Official webpage](https://picnicss.com) (with live demo/test).

## Getting started

There are many ways of using Picnic CSS in your projects. Here a brief introduction of the recommended two methods:

### CDN - just give me the file

Use [Picnic CSS in the CDN jsDelivr](http://www.jsdelivr.com/#!picnicss) for linking to the static file.

### Bower - to personalize Picnic

To install Picnic with bower just write this in your terminal (you'll need bower installed):

```
bower install picnic
```

Then, to use it within your scss development cycle, just do:

```scss
// Here go any variables you want to overwrite
$picnic-primary: #faa;

// Now import picnic and a couple of plugins
@import 'BOWER_PATH/picnic/src/picnic';
@import 'BOWER_PATH/picnic/plugins/nav/plugin';
@import 'BOWER_PATH/picnic/plugins/modal/plugin';
```

### NPM

Just do

```bash
npm install picnic --save
```

To add it to your repository. Then you can include it straight from your css like:

```css
@import "../node_modules/picnic/picnic.min.css";
```

Thanks to [chadoh](https://github.com/chadoh) for helping me in publishing it in NPM and for the instructions.

### Other ways

You can always download the latest minimized version from github, clone the repository or download it. Or clone it: `git clone https://github.com/franciscop/picnic.git`

## Wait, *invasive*?

Many libraries rely upon adding classes to your already existing HTML elements, resulting in bloated code like `Hey`. It would be easier if the buttons knew they are, well, *buttons*. Crazy eh?

This setup works neatly for newly created projects or for pages that you have to build quick from scratch. It also allows for a much more intuitive extension of base elements.

## Browser support IE11+

Bug reports and fixes only for IE11+. With IE8- usage [dropping *fast*](https://ux.stackexchange.com/questions/64250/do-websites-still-have-to-support-internet-explorer-8-and-below/#64361) and with IE9 and IE10 usage even below their older mate, it is time to start thinking about not supporting them anymore. For others, up to 2 previous versions are expected to be working, and everything that is not is definitely a bug.

## Example usage

After including the stylesheet as indicated in the `Getting started`:

```html

What's your favourite Picnic CSS feature?



Semantic HTML5
Lightweight
Only CSS3
Responsive

Subscribe!

```

If you don't see anything that seems *picnic.css exclusive*, that's because there's nothing, that's the main purpose of Picnic CSS. However, try it out and you'll see a decent example in your browser.

## Advantages

- **Only CSS3** is needed and your **HTML5** stays highly semantic*.

- **Under 10kb** when minimized and gzipped with all plugins.

- **Normalize.css** is used as a base, achieving a solid foundation.

- **Support**: IE 9+ and others. No fancy CSS3 on IE 8.

- **Responsive**: The nav and the grids are responsive.

\* Except for the grids :(

## Disadvantages

- Difficult to drop in an already created project. This is what I meant by *invasive*. This is not within the new scope of the project.

## Alternatives and why I still created Picnic CSS

[Milligram](https://milligram.github.io/): A minimalist CSS framework

[PureCSS](http://purecss.io/): Lightweight, nice package. The thing I would be using if I didn't build Picnic CSS and where I took the inspiration. However, no nice `` out of the box and the non-responsive grid from the CDN feels like a stab on the back.

[Bootstrap](http://getbootstrap.com/): Really comprehensive, but too many files and too heavy for most of the websites. It also relies too much on javascript. Still cannot get the `` right out of the box.

[Min](http://mincss.com/): a tiny, basic css framework. It has great browser support. No `` right, and it's too inexpressive.

## Contributing

You are encouraged to contribute to Picnic CSS. To write a new plugin, just copy one of the existing ones (specially recommend "button") and modify the files. The code must be linted with scss-lint, except the `PropertySortOrder` which is ignored for a better code structure.

## Authors

Created by [Francisco Presencia](https://github.com/FranciscoP). SASS from [Jordan Wallwork](https://github.com/jordanwallwork). Significant fixes from [Alex Galushka](https://github.com/galulex). Tons of help in several parts of the project from [Emilio Coppola](https://github.com/Coppolaemilio).

## Some love

- [Clrs](http://clrs.cc/) the new nice web palette (from HN) used for Picnic CSS.

- [Fontello](http://fontello.com/) an icon library that plays really nice with others.

- [Normalize](http://necolas.github.io/normalize.css/) the foundation of Picnic CSS