GithubHelp home page GithubHelp logo

doc22940 / picnic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from franciscop/picnic

0.0 1.0 0.0 2.81 MB

:handbag: A beautiful CSS library to kickstart your projects

Home Page: http://picnicss.com/

License: MIT License

JavaScript 1.40% CSS 32.98% HTML 65.62%

picnic's Introduction

Picnic CSS

Unpack your meal and get coding. An invasive CSS library to get your style started.

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 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:

// 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

npm install picnic --save

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

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

Thanks to 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 <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.

Browser support IE11+

Bug reports and fixes only for IE11+. 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. 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:

<form>
  What's your favourite Picnic CSS feature?

  <label>
    <select name="feature">
      <option value="semantic">    Semantic HTML5 </option>
      <option value="lightweight"> Lightweight    </option>
      <option value="css3">        Only CSS3      </option>
      <option value="responsive">  Responsive     </option>
    </select>
  </label>

  <input type="email" placeholder="Email to receive updates">

  <button class="primary"> Subscribe! </button>
</form>

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: A minimalist CSS framework

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.

Bootstrap: 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 <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.

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. SASS from Jordan Wallwork. Significant fixes from Alex Galushka. Tons of help in several parts of the project from Emilio Coppola.

Some love

  • Clrs the new nice web palette (from HN) used for Picnic CSS.

  • Fontello an icon library that plays really nice with others.

  • Normalize the foundation of Picnic CSS

picnic's People

Contributors

amitkothari avatar anirvan avatar bigglesrocks avatar brendacs avatar chmln avatar ckrailo avatar danielnixon avatar dceejay avatar fahads avatar fnd avatar foolmoron avatar franciscop avatar galulex avatar jacobevelyn avatar jrhorn424 avatar kale avatar kenhys avatar kensnyder avatar kunagpal avatar lcpriest avatar michaelsnook avatar misterjames avatar mitchgrogg avatar nateowami avatar o-kasso avatar rudeg avatar sagarkaurav avatar ttbarnes avatar twitwi avatar voltagex avatar

Watchers

 avatar

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.