A lighweight CSS library with nice defaults and many plugins to kickstart your projects
Note: If your site breaks please read the deprecation notice (and I apologize for it).
Unpack your meal and get coding. An invasive CSS library to get your style started.
There are many ways of using Picnic CSS in your projects. Here a brief introduction of the recommended two methods:
Use Picnic CSS in the CDN jsDelivr for linking to the static file.
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:
// 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';
You can always download the latest minimized version from github, clone the repository or download it.
You can also try it live in Codepen.
git clone https://github.com/picnicss/picnic.git
Many libraries rely upon adding classes to your already existing html elements, resulting in bloated code like
<button class="btn btn-primary">Hey</button>. 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.
Bug reports and fixes only for IE9+. With IE8 usage dropping fast and with IE9 and IE10 usage even below their older mate, it is time to start thinking about not supporting them anymore. However, bug fixes for IE9 will be accepted and everything is expected to run smooth down to it. For Chrome, Firefox, Opera and Safari up to 2 previous versions are expected to be working, and everything that is not is definitely a bug.
After including the stylesheet as indicated in the
What's your favourite Picnic CSS feature?Semantic HTML5LightweightOnly CSS3ResponsiveSubscribe!
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.
Only CSS3 is needed and your HTML5 stays highly semantic*.
Under 3kb when minimized and gzipped and under 5kb 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 :(
checkbox support is not great, however it's better than most of the similar solutions listed below. This is solved by making them optional. To make them work they require the use of a wrapper with a class. These are:
<input type="radio"> and
<input type="checkbox">. Pretty simple (:
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.
The grids introduce an unsemantic component to your HTML5 if you decide to use them. Not really a way to solve it, however the unsemantic bit is only a class called
PureCSS: 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
<select> out of the box and the non-responsive grid from the CDN feels like a stab on the back.
<select> right out of the box.
Min: a tiny, basic css framework. It has great browser support. No
<select> right, and it's too inexpressive.
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.