Ответ 1
попробуйте добавить следующий код в свой элемент:
-webkit-transform: translateZ(0);
У меня возникли проблемы с "фиксированным" элементом в Google Chrome. Элемент ведет себя так же, как и в других основных браузерах.
Вот CSS:
#element {
position: fixed;
bottom: 0px;
width: 100%;
height: 50px;
z-index: 10;
}
Проблема заключается в том, что при загрузке страницы элемент фиксируется в нижней части области просмотра, как и должно быть. При прокрутке он остается на том же месте, где он был при загрузке страницы, - он не остается зафиксированным в нижней части экрана.
попробуйте добавить следующий код в свой элемент:
-webkit-transform: translateZ(0);
У меня было свойство: -webkit-perspective:800;
на теле тега. Я удалил это, и фиксированное позиционирование снова начало работать... неясно, но стоит посмотреть.
В качестве дополнения к выигранному ответу: это не работает, если у вас есть "- webkit-transform-style: preserve-3d" в одном из родительских элементов, Я не знаю, почему, у меня просто было такое и удалено.
Мне пришлось отключить:
-webkit-transform: none !important;
transform: none !important;
чтобы сделать это для меня.
Я должен был поставить левую позицию, чтобы это появилось... не просто верх:
{
left: 0px;
}
Ни один из этих ответов не работал для меня. То, что сработало для меня установив содержит свойство родительского элемента никто
{
contain:none !important;
}
Я использовал position: sticky; bottom: 0;
position: sticky; bottom: 0;
теперь.
#element {
position: sticky; <---
bottom: 0px;
width: 100%;
height: 50px;
z-index: 10;
}
Чтобы завершить то, что говорят другие ответы, также помните, что установка свойства will-change
для любого родительского элемента нарушит фиксированное позиционирование.
Сначала проверьте, есть ли у родителей
-webkit-transform: translateZ(...);
или же
transform: translateZ(...);
или же
-webkit-transform: translate3d(...)
или же
transform: translate3d(...)
и попробуйте удалить их.
Если все еще не работает, попробуйте добавить
-webkit-transform: translateZ(0);
или же
transform: translateZ(0);
к вашей стихии.
Если все еще не работает, проверьте другие стили -webkit-transform/transform/спектива для родителей и удалите их.
Я исправил это, удалив
filter: blur(0);
в родительском элементе. У меня была только эта проблема с Chrome, она хорошо работала с Safari.
Свойство will-change:transform;
был причиной проблемы для меня. Просто нужно добавить will-change:auto;
переопределить это.
Попробуйте использовать
contain: none;
в родительском элементе.