GithubHelp home page GithubHelp logo

kyotohongaku / effeckt.css Goto Github PK

View Code? Open in Web Editor NEW

This project forked from h5bp/effeckt.css

0.0 1.0 0.0 537 KB

UI-less, performant transitions & animations

Home Page: http://h5bp.github.io/Effeckt.css/dist/

effeckt.css's Introduction

Effeckt.css

UI-Less & Performant Transitions & Animations

Ever notice how small flourishes and subtle transitions dramatically increases the value of the experience you enjoy with an app or site?

Designing and developing UIs for the mobile web is tricky, but it's extremely difficult to do that while delivering something that performs at 60fps. The best opportunities to getting jank-free transitions on phones/tablets are css transition and keyframe animation based, especially tapping into hardware-accelerated transforms and opacity changes.

@daneden did really nice work with Animate.css but I think the web would benefit if we could take that work to the next level. There's already been fantastic experiments and demos exploring CSS-based transitions, but it's distributed all over.

Originally started at h5bp/lazyweb-requests#122

Issues or Feedback?

Head here → http://github.com/h5bp/Effeckt.css/issues

Work In Progress Demo Page

Head here → http://h5bp.github.io/Effeckt.css/dist/

✭ Contributing & Pull Requests

If you'd like to contribute to the Effeckt.css project (btw you're awesome for doing so) then we suggest you do the following…

  1. Fork this Repo
  2. Create a new branch on your forked copy of this project.
  3. Submit your branch to this repo as a PR.
  4. Wait for unicorns to appear.

Please keep your commits targeted in a logical fashion in order to keep code review and merges as clean.

General CSS style guide:

  • Two spaces
  • Prefix classes with effeckt-

Tech

You'll have to:

  1. Fork the project and pull down your copy
  2. Run npm install
  3. Make sure you have the Grunt command-line interface with npm install -g grunt-cli
  4. Run grunt dev to start watching for file saves & run a local web server at port 3000 (localhost:3000).
  5. Probably make a local development domain, because the plan is to $.load in the different individual modules, so each module can be it's own .html file, and that won't work at a file:// URL.

Examples To Add

Here's a few pieces of excellent work:

![image](https://f.cloud.github.com/assets/39191/725426/aa3af38c-e067-11e2-82e4-269086cb845d.png)

Because there are so many, I expect we could group things by role:

  • button/touch effects
  • state transition
  • modal/notification transition
  • attention attractors

Goals

This library/framework would come with some goals:

  1. It provides no UI of it's own. It's only hooks for transitions.
  2. Designer-curated set of classy and reasonable effects. (no easeInBounce)
  3. Establish browser support guidelines (I expect Android 2.3 would gracefully degrade)
  4. CSS performance regression testing (a la bench.topcoat.io)
  5. Deliver jank-free 60fps performance on target browsers/devices
  6. If a particular effect cannot deliver target performance (hey blur() css filter), it cannot be included.
  7. Guidelines on what to avoid when styling these affected elements (avoid expensive CSS)
  8. Deliver a builder so users can pull only the CSS they need.
  9. There is no hover on the mobile web, so any hover-based effects would be excluded.

Action

  • If you know other transition/keyframe animation based demos/experiments that make senes to include here, file a ticket.
  • If you're interested in helping to define the API let's hear it, comment on that ticket
  • A web-based builder is a must. A cmd-line builder isn't important for this, I'd say.

effeckt.css's People

Contributors

chriscoyier avatar benschwarz avatar grayghostvisuals avatar mbrandorff avatar paulirish avatar mente avatar nstepien avatar neilcarpenter avatar wonglok avatar

Watchers

James Cloos 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.