Coder Social home page Coder Social logo

easings.net's Introduction

My projects and areas of expertise:

PostCSS logo      Browserslist logo      Autoprefixer logo      Logux logo      Size Limit logo      Size Limit logo      Storeon logo      SugarSS logo     

easings.net's People

Contributors

5idereal avatar adilek avatar ahrengot avatar ai avatar arktds avatar denisfrezzato avatar fanich37 avatar gosolivs avatar jean avatar joepie91 avatar jonasgroeger avatar kipruss avatar knulpi avatar mininao avatar mnmly avatar moth-tolias avatar nallebeorn avatar nguyenvanduocit avatar occupy5 avatar pkvpraveen avatar qkeleq10 avatar roocce avatar ryanhanwu avatar semeano avatar setanarut avatar sethwoodworth avatar sheepyhangcn avatar so-chiru avatar xoquito avatar yegorshtonda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easings.net's Issues

Fix footer on mobile

Current design doesn't look good on Google Pixel 3. Should we put everything in the single line?

Screenshot_20190327-180712

Translation in hindi language

Hi I noticed that the site didn't have a translation for Hindi language and If you want I can translate it for you and submit a PR so let me know if you want that.

Hover problem

Hi! Thank you for this useful site.

I noticed an issue when you hover on "easeInQuad" function
image

Adding a z-index to ".part-title" solves this problem.

Easy function copy

Hi,

I use your page a lot as a reference for CSS easings, they add more feel to just about any UI animation.

I find myself selecting and copying the blue cubic-beizer(...) text a lot... There are awesome buttons to preview the easing for different animations, would it be possible to add a small button that copies the CSS easing function to your clipboard?

For those that don't like installing CSS plugins that transform easings automatically, this website is godsent.

What are this?

Is this JS?
Is this CSS?
How I use this?
What it is applicable to?
Example codes?

Last row glitch

Hi,

The small bubble in the last row goes from transparent to color.
In the other rows it goes from white/opaque to color.

Thanks

Add links to another languages

We should add <a href="/ru" rel="alternate" hreflang="ru" for each language in footer to help Google see another languages (Google will not detect redirect by <select>)

Of course, we could hide them when JS will be loaded.

easeOutBack math function for 0 is incorrect

Using the Math function for easeOutBack: https://easings.net/#easeOutBack

function easeOutBack(x: number): number {
  const c1 = 1.70158;
  const c3 = c1 + 1;

  return 1 + c3 * pow(x - 1, 3) + c1 * pow(x - 1, 2);
}

console.log(easeOutBack(0))

results in 2.220446049250313e-16 whereas it should be 0

If the calculation is correct then a simple conditional to return 0 when x === 0 would be necessary.

Improve a11y

Google Lighthouse (you can run it in Chrome DevTools) gives only 67% score for Accessibility.

20200127110913

Of course, footer link contrast is not really deal breaker. But let’s improve this value to looks good.

easeBack functions not working on Safari

This is a weird issue. While the easeBack functions (in/out/inout) seem to work on the front page (dot preview), they don't work when you try to view the dedicated page for it. The transition works, but the element will stay on position 0 (both in the beginning and the end) where the math function produces negative numbers (the "back" part).

This happens on both safari for mac and iOS.

What is even more weird, is that the very same function on cubic-bezier.com works perfectly.

Add CSS animations

Easings non available with css transition / cubic bezier (bounce/elastic) should be proposed in css animation (@Keyframes).

Real-world examples for different curves

Hey, I really like the idea behind easings.net. Thanks for the website.

I have an idea that maybe would be useful for the project. It would be great to have a short list of real life examples for each curve.

For example for easeOutQuad curve the simplest example is animation for removing an item from the list. Like this:
https://stackoverflow.com/a/41223246/10558733
https://codepen.io/chriscoyier/pen/ozlJK

A list of links to examples hosted on codepen might works for this.
What do you think?

Different cubic-bezier() presets in Chrome DevTools

This is more curiosity than anything. I noticed that the cubic-bezier() presets in Chrome DevTools are different from the values here.

For example, this is what Chrome DevTools suggests for Out - Cubic:

screenshot-20220317-202350

And this is what Easings.net's easeOutCubic looks like:

screenshot-20220317-203646

Although the values look quite different, I compared them in DevTools, and the resulting curves are very similar. But, not exactly the same.

I find this rather strange since Google themselves reference and recommend Easings.net here:
https://developers.google.com/web/fundamentals/design-and-ux/animations/choosing-the-right-easing

My understanding was that easing functions were predefined mathematical equations, not open to interpretation. So how is it that these can differ?

Provide math equations

the visualization for easings is really useful, but needing to look up the equations how to implement them elsewhere is kind of missing the point.

It would be cool if there were code snippets for supported easings, for example under the images comparing linear with the easing function.

Usually I look at http://www.gizma.com/easing/ for reference, but I like the visualization of easings.net better. However because the code snippets on the other site are very easy to all see and copy, I usually go there instead.

Maybe it should be written more as pseudo-code with better variable names or just pure math equation though to be better understandable to everyone.

Exponential functions not accurate

image

ease in exp is the red line. as you can see, the line does not actually cross 0,0.

With the (x === 0 ? 0 : ...) this would make a noticeable jump

Futhermore, ease out exp also has the issue on the other end.
image
the blue line being ease out exp

Can't navigate back from site

Using Firefox in OSX, I'm trapped on your page without the ability to navigate backwards.

Steps to reproduce:

  1. Google "css transitions easing"
  2. Click the result for easings.net
  3. Click on the back button to go back to Google
  4. Navigating away is blocked

Licence for the actual equations?

Hi. I needed a set of easing equations for an MIT licenced Unity project. I grabbed these and ported them to C# before I spotted that this was GPL 3.0

I did a quick Github search and I can find several MIT licenced repos that have the same equations with the same names so I'm hoping that your copyright isn't on the actual formulae and names themselves.

I can redo the port from another source but I'd rather not - so I thought I'd check with you.

The project that makes use of them is here: https://github.com/IxxyXR/Polyhydra-upm

and the ported code is here: https://github.com/IxxyXR/polyhydra-upm/blob/master/Packages/Polyhydra/com.ixxy.polyhydra/Conway/Runtime/Easing.cs

Happy to add copyright/credits or anything you request - I just don't want to change my licence to GPL. I'd rather redo the port from another source if that's required.

What works well for zooming out?

It would be good to get your thoughts on good easing practice for zooming out.

While ease-in/out for an object on a path through a 2D surface is straightforward, zooming is another story.

Zooming in on a 2D scene works well with linear. But zooming out, even with typical ease-out, looks too accelerated.

Non-issue

I'd just like to express my gratitude towards this repository. Easing functions should be simple and you've achieved that goal.

Feel free to close the issue and tell me off.

bezier functions

It would be cool if you could provide the bezier functions for each easing:

This tool will let you generate them...

http://matthewlein.com/ceaser/

-webkit-transition-timing-function: cubic-bezier(0.420, 0.000, 0.580, 1.000); 
   -moz-transition-timing-function: cubic-bezier(0.420, 0.000, 0.580, 1.000); 
    -ms-transition-timing-function: cubic-bezier(0.420, 0.000, 0.580, 1.000); 
     -o-transition-timing-function: cubic-bezier(0.420, 0.000, 0.580, 1.000); 
        transition-timing-function: cubic-bezier(0.420, 0.000, 0.580, 1.000); /* ease-in-out */

Inconsistency in the CSS values

For example:

  • in easeInCirc the value is cubic-bezier(.600, 0.040, 0.980, 0.335);
  • in easeInBack the value is cubic-bezier(0.600, -0.280, 0.735, 0.045);

Note that in first one there have no zero before dot in the first number, and the second one have.

Also, why those CSS values are so unoptimized?

Like you could make the transition: all 600ms cubic-bezier(0.600, -0.280, 0.735, 0.045); can be shorten to transition: all .6s cubic-bezier(.6, -.28, .735, .045); without any impact on readability.

Make it clear that some of the easings are JS-only

Now it can be not clear which easing can be done in CSS. There can be few solutions:

  • Filter that would show only functions available in CSS.
  • Some badge on the JS-only functions.
  • Some divider or any other visual clue that would distinguish the JS-only functions from other ones.

Select option for light and dark mode

Use this site almost daily. Love it guys.

I might be in the minority here... but I like light themes more than dark themes. I saw that the site switched over to a dark theme. I could possibly work on this feature, but would it make sense to add a lightbulb or something at the bottom of the page to toggle between each?

Equation cleanup

there are extra unused parameters and incorrect variable (re)declarations in some equations. The result is in fact inconsistant.

Here is a clean version (note: tabulations are set to 4 spaces, here GitHub uses 8 spaces):

// -----------------------------------------------------------
// jQuery Easing v1.3 - Copyright © 2008 George McGinley Smith
// -----------------------------------------------------------
jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend(jQuery.easing, {
	// unused:   x = null (for jQuery compatibility)
	// required: t = current time, b = beginning value, c = change in value, d = duration
	// optional: s = outer sweep for ease[In/Out]Back (default = 1.70158)
	def: 'easeOutQuad',
	swing:            (x,t,b,c,d) =>
		jQuery.easing[/*alert(jQuery.easing.default),*/jQuery.easing.def](x,t,b,c,d),
	linear:           (x,t,b,c,d) => 
		( t / d
		) * c + b,
	easeOutSine:      (x,t,b,c,d) =>
		( Math.sin(t / d * Math.PI / 2)
		) * c + b,
	easeInSine:       (x,t,b,c,d) =>
		( 1 - Math.cos(t / d * Math.PI / 2)
		) * c + b,
	easeInOutSine:    (x,t,b,c,d) =>
		( (1 - Math.cos(t / d * Math.PI)) / 2
		) * c + b,
	easeOutQuad:      (x,t,b,c,d) =>
		( (t /= d) * (2 - t)
		) * c + b,
	easeInQuad:       (x,t,b,c,d) =>
		( (t /= d) * t
		) * c + b,
	easeInOutQuad:    (x,t,b,c,d) =>
		( (t /= d / 2) < 1
		?         t *   t       / 2
		: (1 - (--t) * (t - 2)) / 2
		) * c + b,
	easeOutCubic:     (x,t,b,c,d) =>
		( (t = t/d - 1) * t * t + 1
		) * c + b,
	easeInCubic:      (x,t,b,c,d) =>
		( (t /= d     ) * t * t
		) * c + b,
	easeInOutCubic:   (x,t,b,c,d) =>
		( (t /= d / 2) < 1
		?   t       * t * t      / 2
		: ((t -= 2) * t * t + 2) / 2
		) * c + b,
	easeOutQuart:     (x,t,b,c,d) =>
		( 1 - (t = (t = t / d - 1) * t) * t
		) * c + b,
	easeInQuart:      (x,t,b,c,d) =>
		( (t = (t /= d) * t) * t
		) * c + b,
	easeInOutQuart:   (x,t,b,c,d) =>
		(  (t /= d / 2) < 1
		?     (t *=           t) * t / 2
		: 1 - (t = (t -= 2) * t) * t / 2
		) * c + b,
	easeOutQuint:     (x,t,b,c,d) =>
		( (t = t / d - 1) * (t *= t) * t + 1
		) * c + b,
	easeInQuint:      (x,t,b,c,d) =>
		( (t /= d) * (t *= t) * t
		) * c + b,
	easeInOutQuint:   (x,t,b,c,d) =>
		( (t /= d / 2) < 1
		?       t       * (t *= t) * t / 2
		: 1 + ((t -= 2) * (t *= t) * t / 2
		) * c + b,
	easeOutExpo:      (x,t,b,c,d) =>
		( (t == d ? 0
		: 1 - Math.pow(2, t / d * -10))
		) * c + b,
	easeInExpo:       (x,t,b,c,d) =>
		( t == 0 ? 0
		: Math.pow(2, (t / d - 1) * 10)
		) * c + b,
	easeInOutExpo:    (x,t,b,c,d) =>
		( t == 0 ? 0 : (t /= d / 2) == 1 ? 1 : t < 1
		?     Math.pow(2, (t - 1) * 10) / 2
		: 1 - Math.pow(2, (1 - t) * 10) / 2
		) * c + b,
	easeOutCirc:      (x,t,b,c,d) =>
		( Math.sqrt(1 - (t = t / d - 1) * t)
		) * c + b,
	easeInCirc:       (x,t,b,c,d) =>
		( 1 - Math.sqrt(1 - (t /= d) * t)
		) * c + b,
	easeInOutCirc:    (x,t,b,c,d) =>
		( (t /= d / 2) < 1
		? (1 - Math.sqrt(1 - t        * t)    ) / 2
		: (    Math.sqrt(1 - (t -= 2) * t) + 1) / 2
		) * c + b,
	easeOutElastic:   (x,t,b,c,d) =>
		( (t /= d) == 1 ? 1
		: 1 - Math.pow(2, t * -10) * Math.cos(t * Math.PI / 0.15)
		) * c + b,
	easeInElastic:    (x,t,b,c,d) =>
		( (t /= d) == 0 ? 0 : t == 1 ? 1
		: Math.pow(2, (t -= 1) *  10) * Math.cos(t * Math.PI / 0.15)
		) * c + b,
	easeInOutElastic: (x,t,b,c,d) =>
		( t == 0 ? 0 : (t /= d / 2) == 2 ? 2 : t < 1
		?     Math.pow(2, (t -= 1) *  10) * Math.cos(t * Math.PI / 0.225) / 2
		: 1 - Math.pow(2, (t -= 1) * -10) * Math.cos(t * Math.PI / 0.225) / 2
		) * c + b,
	easeOutBounce:    (x,t,b,c,d) =>
		( (t /= d) < 1   / 2.75 ? (t                 * 7.5625) * t
		: t        < 2   / 2.75 ? (t -= 1.5   / 2.75 * 7.5625) * t + 0.75
		: t        < 2.5 / 2.75 ? (t -= 2.25  / 2.75 * 7.5625) * t + 0.9375
		:                         (t -= 2.625 / 2.75 * 7.5625) * t + 0.984375
		) * c + b,
	easeInBounce:     (x,t,b,c,d) =>
		( 1 - jQuery.easing.easeOutBounce(x, 1 - t / d, 0, 1, 1)
		) * c + b,
	easeInOutBounce:  (x,t,b,c,d) =>
		( (t /= d / 2) < 1
		?     jQuery.easing.easeInBounce (x, t,     0, 1, 1) / 2
		: 1 + jQuery.easing.easeOutBounce(x, t - 1, 0, 1, 1) / 2
		) * c + b,
	easeOutBack:      (x,t,b,c,d,s) =>
		( ( ((s=(s==undefined?1.70158:s) + 1) * (t = t / d - 1) + s) * t + 1) * t
		) * c + b,
	easeInBack:       (x,t,b,c,d,s) =>
		( (  (s=(s==undefined?1.70158:s) + 1) * (t /= d)        - s) * t      * t
		) * c + b,
	easeInOutBack:    (x,t,b,c,d,s) =>
		( (t /= d / 2) < 1
		? (  (s=(s==undefined?1.70158:s) * 1.525 + 1) *  t       - s) * t * t / 2
		: (  (s=(s==undefined?1.70158:s) * 1.525 + 1) * (t -= 2) + s) * t * t / 2 + 1
		) * c + b,
});

you can note that all functions have to perform

  • a predivision of t by d
  • a final multiplication by c and addition of b
  • x is never used

There are too many parameters in all "easing" functions (making them not so easy to use) !
This could be avoided by passing a single normalized parameter t in 0..1, (and optional parameter s) so that all basic ease functions are also returning normalized values in 0..1 (possibly with external sweep in the middle near the two ends, if the easing is "amortized" on both ends.

As well the two parameters b and c are not so convenient: practical use prefer using start and end values directly (where b = start, c = end-start) for describing animations.

Ideally, there should be a clean way to control the maximum sweeping, not jsut for ease[In/Out]Back, but also ease[In/Out]Elastic (which should then use the "s" parameter too.

In the current implementation of ease[In/Out]Back, there's an internal variable "s" but it is incorrectly used and finally voided, producing the same value as the simplified equation above where the specific value of internal variables s and p are fixed, so that the formula reduces to a "sin(x + pi/2)" equivalent to a simpler "-cos(x)" (as written above).

I wonder if this behavior was the use of the old parameter x (always passed as null and taking needless memory and stack). This is probably an old bad design of jQuery's easings (which originally only defines the "linear" and "swing" modes, "swing" being an alias for the OutQuad method (find for implementing very "reactive" UI buttons, but not for realistic animations, especially for scenes in 2D/3D emulating normal physics, including in games)... Only the linear and quadratic curves are really realistic, quadratic to emulate objects falling down due to gravity. The elastic and bounding moves is not well suited because of arbitrarily fixed parameters. Even the existing bouncing is not realistic because it uses an infinitely hard surface and has no segment of elastic deceleration near the bounding surface (thing about how balls are bouncing on a surface: they are deformed and the surface is also deformed, both elastically, or sometimes semi-elastically (e.g. on non-compacted natural ground where this leaves a hole, and where a part of the energy is absorbed and not entirely reflected even on hard surfaces, e.g. when bouncing on a sand surface, or on water, sometimes even entering within water; another part is dissipated as temperature without "moving" any fragment of the bouncing surface, except temporarily, and another part of the energy creating "waves" around the impact and absorbing a lot of the energy but not as significant temperature elevation).

Note that .animate(...) can be chained in a queue (jQuery creates and uses a default queue for each animatable object) using .animate(...).animate(...).

jQuery provides unnecessary callbacks for start and end events, which should be just inserted in the queue as an .animate(...) with duration=0. Animations in jQuery still required more work.

As well easings should be easier to do for 2D/3D animations using Bezier splines curves: instead of just using static values (min and max for t=0 and t=1 respectively, we should be able to link two easings for each coordinate in 2D, or three easings in 3D).

As well the easings above should have a way to specificy the parameters fixing the differential speed (negative or positive) at start and end; the functions above have a single fixed value for start and end speeds with limited values: 0, 1 or infinite (this is fixed at end only for easeIn* and easeOut*, and arbitratrily fixed at both start and end on the same value for easeInOut*, splitting the range arbitrarily in two mirrored parts exactly in the middle of time range)...

Animations using quadratic, cubic or elliptic beziers cannot be designed so simply with basic bezier control points or radii or focal points for elliptic curves given in their coordinate space: we have to predecompose the Bezier to create a parametric equation based on time and measuring the length along the Bezier or ellipitic curve to compute the final coordinate. So these easings are mostly fitted only for 1D effects.

Outside jQuery, in the CSS or SVG or OpenGL working groups, there are ongoing works on what is needed to describe a 2D or 3D scene: none of these easings are usable, except the "linear" one for moves along small arcs. Animations are then just basic designs made for 1D

Add Hebrew translation

Victoria Tepfer sent me the translation to Hebrew

version: 1
lang_code: il
lang_name: עיברית
rtl: true

title: פונקציית הריכוך (Easing Functions)
description:
  הפוך את האנימציה ליותר מציאותית על ידי בחירת פונקציית הריכוך הנכונה.
share:
  פונקציית הריכוך (Easing Functions) קובע את מהירות של האנימציה, כך שהיא נראת יותר מציאותית
  באתר הזה ניתן לראות איך אמורה להיראות עקומה, כך שאובייקט יזוז יותר טבעי וכמה שיותר קרוב למציאות

about: __format
  ~~ פונקציית הריכוך (Easing Functions)~~ קובעת את מהירות תזוזה באנימצייה


דברים אמיתיים לא מתחילים לנוע באופן מיידי ובמהירות קבועה.
   כשפותחים מגירה, ראשית אנו מאיצים אותה ואז מאיטים.
   וכאשר הכדור נופל הוא מאיץ כל הזמן, ואחרי שפוגע ברצפה הוא קופץ מעט, עד שעוצר

האתר הזה יעזור לך למצוא את הפונקצייה שמתאימה לך


howtos:
  css:
    text: ב- CSS, מאפייני המעבר וההנפשה מאפשרים לך לציין פונקציית הקלה.
    edit: לערוך ב ^cubic-bezier.com^.
    with_animation: ב- CSS ניתן ליישם פונקציה זו עם {{@keyframes}}
    example_size: גודל
    example_position: עמדה
    example_opacity: שקיפות

  postcss:
    text:
      ב- PostCSS להישתמש בפונקצייה פשוט יותר.
      יש פלגין ^postcss-easings^, שלוקח מידע מהאתר הזה.
    explanation: הצהרה זו מומרת לזו שתוארה לעיל.
    disabled:
      למרבה הצער, לא ניתן להגדיר פונקציית החלקה זו באמצעות תוסף כלשהו PostCSS.
      ניתן לעשות זאת עם {{@keyframes}}.

  gradient:
    name: מדרון צבעים
    text: אפשר לצייר שיפוע עם ^postcss-easing-gradients^.

  mathfunction:
    name: פונקציית מתמטיקה
    text:
      להלן מופיע הקוד לפונקציית המעבר שנכתב TypeScript.
      משתנה X זו התקדמות של האנימציה, איפה ש 0 זה תחילת אנימציה ו 1 – זה סופה 

easing:
  all_easings: כל הפונקציות
  check: לבדוק את השינוי של האטה
  check_size: גודל
  check_position: מיקום
  check_opacity: שקיפות
  current_func: פונקציה נוככית
  linear_func: פונקציה לינארית
  load: טעינה...

opensource:
  title: Open Source
  translate: Help translate site to your language

authors:
  sitnik: Andrey Sitnik
  separator: and
  solovev: Ivan Solovev

theme:
  auto: אוטומטי
  light: בצבע בהיר
  dark: צבע קהה

The problem is that we need to create a right-to-left design (mirror design). You can try to use RTLCSS tool for that.

Add Javascript equivalent function

That would be nice to have the javascript function for each easing mode.

for instance:

/**
* @param x input [0;1]
* @return eased input [0;1]
*/
function linear(x) {
  return x;
}

of course for thing like bounce effect ease value may leave the [0;1] range.

Change Open Source active style

Right now on the slick we change background and invert color: white → black on Open Source button.

Unfortunately, color inverting make too much noise. I think we should just background.

mathematically rigid quadratic curve parameters for easeInQuad

cubic-bezier(1/3, 0, 2/3, 1/3) yields equivalently quadratic curve y=x^2 as the TypeScript code in math function section explains.

how about to use corresponding cubic-bezier(0.33, 0, 0.67, 0.33) for easeInQuad?
also cubic-bezier(0.33, 0.67, 0.67, 1) for easeOutQuad.

i hope this would help us.

Перезапустить сайт

Что переделать:

  • В примерах только CSS, PostCSS и CSS-в-JS.
  • js-изинги переписать на @keyframes.
  • После добавления новых строк, старые переводы станут неполные.
    Такие переводы надо будет выключить, но оставить в репозитории, чтобы
    переводчикам не надо было бы переводить с начала.
  • Добавить своё имя в футер, но оставить моё.
  • PWA со всеми иконками и манифестами.
  • Поддержку офлайна и мгновенной загрузки.
  • Переделать сборку с Ruby на JS.
  • Автоматический деплой из ветки master.
  • Версию справа-на-лево сделать через CSS Logical Properties.
  • Поменять направление графиков в версии справа-на-лево.
  • Добавить ссылку на https://larsenwork.com/easing-gradients/

Что оставить:

  • Текущие адреса /:locale и /:locale#:easing
  • Авторедирект исходя из языка браузера.
  • Предложение перевести сайт, если языка пользователя нет.
  • Возможность двойным кликом по заголовку выделить имя изинга.
  • Маленький размер и простоту кода.
  • Адаптивность и поддержку тач-интерфейса.
  • Дизайн выделяющий содержимое, а не элементы интерфейса.
  • Все графики на 13" мониторе должны быть видны без скролла.

Желательно:

  • Загибающабщийся лепесток со ссылкой на исходники.
  • Лучше, чтобы офлайн включалсь явно через заметный переключатель.
    Так о фиче будут знать.
  • Может стоит сделать сразу ссылку на инструмент редактирования изингов,
    который сделала Лиа Веру?
  • Добавить примеры для Android и iOS?

Way to denote CSS supported easings from the front page?

I am mostly interested in the easing styles that are supported by CSS. Could some sort of logo, color, or badge be added to the front page to denote that a particular easing function is supported without using @keyframes?

More permissive license for easing functions snippets?

This site is fantastic, and I'd love to use the easing function TS snippets in an MIT licensed project. Is there any chance that the function snippets (not the whole website) could be MIT, Apache, CC, or public domain?

image

It's not hard to find permissively licensed implementations for all of these, but it'd be nice to just copy straight from this site.

Only 2 languages in menu

Hi guys great site!
Event if languages are present in i18n folder they don't appear in menu.
For example, /fr cause 404

Thanks

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.