Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<meta name="description" content="Safari 9.1, `position: fixed` with animation fix">
<div class="questionnaire-column">
  <section>
    <h1>Safari 9.1, `position: fixed` with animation fix</h1>
    <p>
      Opening this page in Safari 9.1, will not show the "Hi I'm fixed" text in the lower-left corner.
      This is because its parent is animated, and Safari doesn't repaint the `position: fixed`-element after the animation.
    </p>
    <p>Anything that triggers a repaint (e.g. resizing the window) will make the `position: fixed`-element show up.</p>
    <p>Safari 5-8 and Safari 10 are not affected. I have not been able to test Safari 9.0</p>
    <p>
      A possible fix is to animate the `position: fixed`-element after the animation of the parent has finished.
      Example: <a href="https://jsbin.com/biqura/edit?html,css,output">https://jsbin.com/biqura/edit?html,css,output</a>
    </p>
  </section>
  <section></section>
  <section></section>
  <section></section>
  <section></section>
  <section></section>
  <section></section>
  <div id="fixed">Hi I'm fixed</div>
</div>
 
.questionnaire-column {
  animation: slide-in-from-left 0.1s;
}
section {
  margin-bottom: 10px;
  min-height: 100px;
  background-color: #EEE;
}
#fixed {
  position: fixed;
  bottom: 12px;
  animation: trigger-repaint 0.1s 0.3s;
}
@keyframes slide-in-from-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes trigger-repaint {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
malthejorgensenpro
0viewers