http://jsfiddle.net/MR94s/
.wrap { position: absolute; z-index: 777; top: 100%; left: 0; width: 100%; min-height: 100%; background-color: white; -webkit-overflow-scrolling: touch; -moz-transform: translateX(25%); -webkit-transform: translateX(25%); -o-transform: translateX(25%); -ms-transform: translateX(25%); transform: translateX(25%); } section { position: relative; width: 100%; display: table; height: 450px; border-bottom: 2px solid #E6EAED; -webkit-Box-sizing: border-Box; -moz-Box-sizing: border-Box; Box-sizing: border-Box; padding: 20px; background-color: #333; background-repeat: repeat; background-position: center center; -webkit-background-size: 100%; -moz-background-size: 100%; -o-background-size: 100%; background-size: 100%; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; background-attachment: fixed; background-image: url('http://placekitten.com/600/600'); }
看到上面的小提琴.我在一个项目中使用类似的结构.它是一个交替的页面,一个用于内容,一个作为分隔符,覆盖和固定的背景图像.
工作正常,但由于某种原因,当使用固定背景或其父级元素进行翻译时,背景将完全消失或留下图像的一些工件和部分.
任何其他浏览器都可以正常工作.没有任何运气寻找解决方案,所以我希望有人可以帮助我这个.
提前致谢!
解决方法
我有同样的问题,只有在Chrome.这是我的解决方案:
// run js if Chrome is being used if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { // set background-attachment back to the default of 'scroll' $('.imagebg').css('background-attachment','scroll'); // move the background-position according to the div's y position $(window).scroll(function(){ scrollTop = $(window).scrollTop(); photoTop = $('.imagebg').offset().top; distance = (photoTop - scrollTop); $('.imagebg').css('background-position','center ' + (distance*-1) + 'px'); }); }