Since background-attachment:fixed doesn't work on some mobile browsers (e.g. on iOS), what alternatives are there, specifically when trying to implement the following demo: http://cppforums.ludost.net/test/test.html
CSS:
.sec1 {
min-height: 1000px;
background: #222 url('wallpaper-2959361.jpg') no-repeat center top fixed;
}
.sec2 {
min-height: 1000px;
background: #222 url('wallpaper-1829278.jpg') no-repeat center top fixed;
}
HTML:
<div class="sec1">text</div>
<h1>Title 1</h1>
<div class="sec2">more text</div>
<h1>Title 2</h1>
<div class="sec1">even more text</div>
Any suggestions on how to implement the demo in a way that works on all browsers? Preferably a CSS only solution.
.bg
{
background-image: url(bg.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
z-index: -1;
-webkit-transform: translateZ(0);
pointer-events: none;
}
See this example: https://rawgit.com/arnaudbreton/background-fixed-chrome-rendering-issue/master/index-without-rendering-issue.html
jQuery alternative to background-attachment:fixed;
(be sure to have jQuery properly installed):
$(window).scroll(function() {
var scrolledY = $(window).scrollTop();
$('.sec1').css('background-position', 'center ' + ((scrolledY)) + 'px');
});
It is important to note that your background image must not be taller than the height of the div or things get thrown off.
来源:https://stackoverflow.com/questions/21240465/alternatives-to-background-attachment-fixed