This repo is archived. Thanks!

Overview

This repo is archived

Effeckt.css

A Performant Transitions and Animations Library : http://h5bp.github.io/Effeckt.css

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

Effeckt Trailer

image

Examples To Add

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

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

Goals

  1. Provide a minimal UI. Only use style hooks for transitions and animations.
  2. Designer-curated set of classy and reasonable effects. (no easeInBounce)
  3. Establish browser support guidelines (e.g. 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 or have a tap-based equivalent.

Action

  • If you know other transition/animation based demos/experiments that make sense to include here, file a ticket.
  • If you're interested in helping to define the API, let's hear it! File a ticket.
  • A web-based builder is a must. A command-line builder isn't important for this.

Getting Started

Code Style Guide

General Inquiries & Support

Bug Reports & Feature Requests

Comments
  • naming and github org

    naming and github org

    Name

    "Effeckt.css" I just randomly came up with. I'm not particularly attached to it, though it seemed pretty good. Renaming the project isn't a priority but if we want to, we certainly can.

    Github org

    The current github location of h5bp/Effeckt.css also need not be permanent. But if we move this to it's own org (probably inevitable) then let's do it with a final name.

    philosphy 
    opened by paulirish 44
  • HTML Includes

    HTML Includes

    Would be nice if each demo had it's own individual component page, and those chunks were included in the main demo page.

    1. Grunt includes https://github.com/vanetix/grunt-includes (never tried)
    2. Jade includes (yet another dependency)
    3. $.load with jQuery (might load janky)
    4. PHP includes (yet another dependency)
    5. Something else?
    build embetterment 
    opened by chriscoyier 38
  • Overload of contents tends to slow down most animation

    Overload of contents tends to slow down most animation

    I don't now you guys but when I test some effects on the site if I am on "home" page, everything is slow because of the overload of contents, but if I am on a specify page everything run smoother.

    opened by wellingguzman 26
  • Sass, LESS or vanilla CSS

    Sass, LESS or vanilla CSS

    Discussions about whether to use a pre-processor or vanilla CSS and if the former whether or not animations could or should be implemented as mixins or via an extension.

    question 
    opened by i-like-robots 23
  • Added JSCS & JSHint with Travis CI config

    Added JSCS & JSHint with Travis CI config

    This PR fixes https://github.com/h5bp/Effeckt.css/issues/314

    • .jshintrc
      • [x] Put brakes { after rule declarations/function name/while/for/etc. curly:true
    • .jscsrc (Each completed task here has the corresponding jshint rule listed in code blocks)
      • [x] Use two space indent "validateIndentation": 2
      • [x] Put spaces between rule declarations/function name/while/for/etc and brakes {.requireSpacesInAnonymousFunctionExpression,requireSpacesInCallExpression,requireSpacesInConditionalExpression,requireSpacesInForStatement,requireSpacesInFunctionDeclaration,requireSpacesInFunctionExpression,requireSpacesInFunction,requireSpacesInNamedFunctionExpression
      • [x] Put spaces after : in property declarations/objects definitions. "requireSpaceAfterObjectKeys": true
      • [x] Use Spaces after and before ( and ) and [ and ]. "requireSpacesInsideParentheses":"all","requireSpacesInsideArrayBrackets": "all"
      • [x] Use Spaces after and before = assigning values. "requireSpaceAfterBinaryOperators":["="],"requireSpaceBeforeBinaryOperators":["="]
      • [x] Don't use spaces after unary operators such as ! or ++. "disallowSpaceAfterPrefixUnaryOperators":["++", "--", "+", "-", "~", "!"]
      • [x] Use space after , in arguments variable. "validateParameterSeparator":", "
      • [x] Declaring Objects using multi-line. "requireMultipleVarDecl":true
      • [x] Declaring variables using multi-line. "requireMultipleVarDecl":true
      • [x] Always use semicolons ;. "requireSemicolons":true
      • [x] put spaces after double slash. ("requireSpaceAfterLineComment":true)
      • [x] Any , must not have preceding space "disallowSpaceAfterBinaryOperators":[","],
      • [x] Use $ in front of a variable if it's a jquery object. requireDollarBeforejQueryAssignment:true
      • [x] General guidelines
        • [x] "disallowMixedSpacesAndTabs": true
        • [x] "disallowMultipleSpaces":true
        • [x] "disallowTrailingComma":true
        • [x] "requireLineFeedAtFileEnd":true

    Style guidelines which do not have jshint / jscsc equivalents:

    archiving-repo 
    opened by ShashankaNataraj 22
  • Create an Effeckt.js module/core

    Create an Effeckt.js module/core

    From a code reuse and modular perspective, I'd like to see some JavaScript modules (Patterns/AMD/UMD/whatever) over the singleton Objects - that allow for easy name-spacing and extensibility - plus out of the box functionality for developers for those who aren't great with JS.

    If Effeckt.js comprised of something like this (on a basic level, I prefer a UMD setup):

    (function (Effeckt) {
    
        // do something with Effeckt
    
    })(this.Effeckt = this.Effeckt || {});
    

    Of which can be extended with different modules or act on it's own, developers can include modules they like without having to call differently named Objects, and it offers an Object to bolt new functionality into.

    archiving-repo 
    opened by toddmotto 18
  • Add JSHint and JSCS

    Add JSHint and JSCS

    To keep things clean. Preferably running as part of CI so we don't land PRs that aren't quite okay.

    We have a style guide in the wiki but we tend to not follow it always. trailing commas, trailing whitespace and many other things are pretty common in the JavaScript codebase.

    enhancement idea build embetterment archiving-repo 
    opened by arthurvr 17
  • Off Screen Nav does not work on Android (4.2.2) stock browser.

    Off Screen Nav does not work on Android (4.2.2) stock browser.

    This is a question or something I noticed.

    On my Galaxy Nexus the off screen nav doesn't show. The only one that shows up is the 'push'-version, but also only if I force a repaint by switching to horizontal mode and back. After this I can also close it and it gets removed with the expected smooth animation.

    I don't think it's an actual issue of Effeckt more an issue of Android in general. But I wanted to mention this cause it's not mentioned in the readme.md. It might be good to add this so people don't get confused and reporting issues about it :)

    I switched to transition left/right, which is an ok fall-back.

    archiving-repo 
    opened by escapedcat 15
  • Text Rendering on Modals

    Text Rendering on Modals

    Text rendering changes when an element is animated to make the transition as smooth as possible. The problem is however after the animation ends the text is currently still rendering in the animation mode (text-rendering: optimizeSpeed I think.)

    I was wondering how we were going to tackle this problem? As quality is obviously a important element for this project.

    See blow screenshot below highlighting this problem.

    screen-shot-2013-07-05-at-5 04 13-pm

    opened by jnowland 15
  • How to Handle gh-pages / pull requests

    How to Handle gh-pages / pull requests

    For contributors, they will need to fork and submit pull requests to the master branch, but then the build process will update the gh-pages branch and that needs to be a separate pull request. That is kinda awkward.

    Discussion so far:

    • @benschwarz git subtree push --dist origin gh-pages
    • @doowb goes into more detail: https://github.com/h5bp/Effeckt.css/issues/24#issuecomment-20499827

    Or, maybe general contributors don't need to worry about gh-pages? Team members will merge the pull requests into master and handle it?

    Sorry if this is confusing. I'm confused myself. I just know we need to keep gh-pages updated too so the live demo is current.

    build embetterment 
    opened by chriscoyier 15
This Is A Simple WhatsApp Bot Mode From *DhaniGans* Repo Hope you guys Will like it Repo Updates in Every Two Days

ALIEN ALFA BOT Contact Me: Scan QR Code For Session FORK THIS BEFORE PROCEEDING Use This Button To Fork Now THINGS TO CHANGE IN HEROKU ???????????? ??

TOXIC ALIEN 15 Dec 21, 2022
This is email scheduler made using MERN. This repo contains server code, client repo is linked in readme.

Email Scheduler Client This is an email scheduler server (client in different repository). It is made using node.js/express.js. Overview User can sign

Sai Charan 2 Dec 3, 2022
A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

A speech recognition library running in the browser thanks to a WebAssembly build of Vosk

Ciaran O'Reilly 207 Jan 3, 2023
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service.

Leaderboard The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved tha

Jihane Haddad 5 Feb 10, 2022
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service. Build with Html, CSS, JS, API, and Webpack.

The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service. Build with Html, CSS, JS, API, and Webpack.

Kyrillos Hany 9 Mar 11, 2022
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external API.

Leaderboard The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved tha

null 5 Mar 5, 2022
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service.

Leaderboard The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved tha

Regiss Mukubiza 2 Apr 8, 2022
A small web app that tries to imitate the desktop web version of amazon site, you can add items to the basket, delete them, and have your user authentication feature thanks to Firebase.

Features Here's the feature's included in this project ??‍??‍??‍?? Login Page ?? Products Page ?? Cart and Checkout Page ?? Sign up function with Goog

Murad Rahmanzada 16 Aug 22, 2022
Clinton Mbonu 20 Jun 30, 2022
This website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service. Built with Webpack and ES6

Leaderboard This website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the

Sanja Mandic 9 Sep 30, 2022
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service.

Leaderboard- DESCRIPTION The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is

Andres Garzon 2 Jun 16, 2022
Erick Hans 5 Oct 26, 2022
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service. Built with Html, CSS and JavaScript

Leaderboard App ?? Table of Contents ?? About the Project ?? Built With Tech Stack Key Features ?? Live Demo ?? Getting Started Setup Prerequisites In

Tetteh Kodjo-Sarso 4 Mar 21, 2023
The leaderboard website displays scores submitted by different players. It also allows you to submit your score. All data is preserved thanks to the external Leaderboard API service.

Leaderboard ?? Table of Contents ?? About the Project ?? Built With Tech Stack Key Features ?? Live Demo ?? Getting Started Setup Prerequisites Instal

Ritika Rawat 4 Mar 20, 2023
Nano is now part of Apache CouchDB. Repo moved to https://GitHub.com/apache/couchdb-nano

nano minimalistic couchdb driver for node.js nano features: minimalistic - there is only a minimum of abstraction between you and couchdb pipes - prox

The Apache Software Foundation 1.1k Oct 22, 2022
Open the GitHub page of the given or current directory repo

gh-home Open the GitHub page of the given or current directory repo It will attempt to open the upstream repo if there is one or the forked repo. Inst

Sindre Sorhus 184 Dec 17, 2022
Open the npm page, Yarn page, or GitHub repo of a package

npm-home Open the npm page, Yarn page, or GitHub repo of a package Install $ npm install --global npm-home Usage $ npm-home --help Usage $ npm

Sindre Sorhus 180 Dec 18, 2022
osmoscraft 833 Dec 31, 2022