background-attachment: исправлена ошибка в Chrome только для Retina
При использовании background-attachment: исправлено, я нахожу проблемы с тем, как Chrome отображает фоновое изображение только на экранах сетчатки. Firefox и Safari работают как задумано. Я также заметил, что я могу заставить его работать в Chrome, когда нажимаю на кнопку "Включить непрерывную перерисовку страницы" в меню "Инструменты разработчика"> "Консоль"> "Рендеринг". Это также вызывает серьезные проблемы с производительностью при включении, хотя. Изображения отображаются хорошо, когда он изменяется с background-attachment: исправлено на background-attachment: scroll, но тогда я теряю ожидаемый эффект.
Какие-нибудь предложения об обходе этого? Или мне придется нацелить Chrome на устройства Retina и убить функциональность?
Вот ссылка на проблему со скриншотом:
1 ответ
У меня была такая же проблема, попробуйте это:
Демо здесь http://jsfiddle.net/dN4S4/493/
body{
padding: 0;
margin: 0;
}
#main{
width: 100%;
height: auto;
margin: 0;
padding: 0;
}
#fixedElement{
-webkit-transform: translateZ(0);
-webkit-backface-visibility:hidden;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
margin:auto;
z-index: -1;
display: block;
}
.fullWidthImage{
background: url("http://s.camptocamp.org/uploads/images/1255459227_450187593.jpg") no-repeat center center;
-webkit-background-size: 100%;
-moz-background-size: 100%;
-o-background-size: 100%;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
overflow: hidden;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: relative;
}
.bottom{
position: relative;
top: 500px;
width: 100%;
height: 800px;
background-color: purple;
margin: 0;
padding: 0;
}
<div id="main">
<div id="fixedElement">
<div class="fullWidthImage">
</div>
</div>
<div class="bottom">
</div>
</div>