Pseudo-element sliding background
One or two background pseudo-elements <body>that position: fixedhave a percentage of height and width.
To show elements above the background, use this:
element-to-show-above {
position: relative;
z-index: 1;
}
For pages with a lot of content, it would be advisable to apply the above properties to a wrapper containing all of your elements.
Two examples
" " , .
# 1 -
. Safari -webkit- transform.
body {
margin: 0;
}
body:before {
content: '';
display: block;
-webkit-animation: 80s bg linear forwards;
animation: 80s bg linear forwards;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 300%;
width: 200%;
top: 0;
left: 0;
}
@-webkit-keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}
@keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
}
# 2 - -
HTML-!
body {
margin: 0;
}
body:before {
content: '';
display: block;
-webkit-animation: 5s bg linear infinite;
animation: 5s bg linear infinite;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
body:after {
content: '';
display: block;
-webkit-animation: 5s bg2 linear infinite;
animation: 5s bg2 linear infinite;
background: url(http://i.stack.imgur.com/zawJr.jpg) no-repeat;
background-size: 100% 100%;
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
@-webkit-keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes bg2 {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
100% {
-webkit-transform: translateY(0%);
transform: translateY(0%);
}
}
@keyframes bg {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@keyframes bg2 {
0% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
100% {
-webkit-transform: translateY(0%);
transform: translateY(0%);
}
}