CSS position:sticky

- WD

Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.

IE

  1. 5.5 - 10
  2. 11

Edge

  1. 12 - 15
  2. 16 - 18
  3. 79 - 81
  4. 83

Firefox

  1. 2 - 25
  2. 26 - 31
  3. 32 - 58
  4. 59 - 75
  5. 76
  6. 77 - 78

Chrome

  1. 4 - 22
  2. 23 - 36
  3. 37 - 51
  4. 52 - 55
  5. 56 - 81
  6. 83
  7. 84 - 86

Safari

  1. 3.1 - 6
  2. 6.1 - 7
  3. 7.1 - 12.1
  4. 13
  5. 13.1
  6. TP

Opera

  1. 9 - 38
  2. 39 - 41
  3. 42 - 67
  4. 68

iOS Safari

  1. 3.2 - 5.1
  2. 6 - 7.1
  3. 8 - 12.4
  4. 13 - 13.3
  5. 13.4

Opera Mini

  1. all

Android Browser

  1. 2.1 - 4.4.4
  2. 81

Blackberry Browser

  1. 7
  2. 10

Opera Mobile

  1. 10 - 12.1
  2. 46

Chrome for Android

  1. 81

Firefox for Android

  1. 68

IE Mobile

  1. 10
  2. 11

UC Browser for Android

  1. 12.12

Samsung Internet

  1. 4 - 5.4
  2. 6.2 - 10.1
  3. 11.1

QQ Browser

  1. 10.4

Baidu Browser

  1. 7.12

KaiOS Browser

  1. 2.5

Any ancestor between the sticky element and its user-scrollable container with overflow computed as anything but visible/clip will effectively prevent sticking behavior.

Resources:
geddski article: Examples and Gotchas
HTML5Rocks
MDN Web Docs - CSS position
Polyfill
Another polyfill
WebPlatform Docs