Skip to content

Instantly share code, notes, and snippets.

View akshayverma1's full-sized avatar

Akshay Verma akshayverma1

View GitHub Profile
@paulirish
paulirish / what-forces-layout.md
Last active November 9, 2025 15:07
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@BenMorel
BenMorel / viewport-units-ios.scss
Last active January 25, 2025 17:53
SCSS mixin to support vh and vw units on all iOS Safari versions. Based on an idea by Patrick Burtchaell's: https://gist.github.com/pburtchaell/e702f441ba9b3f76f587
/**
* Fix for vw, vh, vmin, vmax on iOS 7.
* http://caniuse.com/#feat=viewport-units
*
* This fix works by replacing viewport units with px values on known screen sizes.
*
* iPhone 6 and 6 Plus cannot run iOS 7, so are not targeted by this fix.
* Target devices running iOS 8+ will incidentally execute the media query,
* but this will still produce the expected result; so this is not a problem.
anonymous
anonymous / gist:402ab895a5410e4cd250
Created February 10, 2015 10:37
twist box · http://drbl.in/nJje
int[][] result;
float t, c;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
if (p < 0.5)
return 0.5 * pow(2*p, g);
// by david whyte aka bees and bombs. im sorry for this
int[][] result;
float t, c;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
anonymous
anonymous / gist:ef01d1ecb72003750687
Created December 1, 2014 17:38
snake >:)
// by dave @beeesandbombs
int[][] result;
float t, c;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
anonymous
anonymous / gist:271707d9682ea025cda5
Created November 12, 2014 19:07
‘diamonds’ — http://tmblr.co/ZOLwww1VRM6JM
// lol forgive me for this code
int[][] result;
float t;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
anonymous
anonymous / gist:42dce7fc0be89680c969
Created October 30, 2014 08:51
ripples
// yikes not the prettiest code. by dw @ bees & bombs
int[][] result;
float t;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
// by david whyte >:)
int[][] result;
float t;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
// by dw @ bees & bombs >:)
int[][] result;
float t;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {
// by d whyte
int[][] result;
float t;
float ease(float p) {
return 3*p*p - 2*p*p*p;
}
float ease(float p, float g) {