<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
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |