Подтвердить что ты не робот

Почему нет позиции: липкая работа в Chrome?

Как вы работаете position: sticky?

Я попробовал следующее в Chrome 26.0.1410.43 м, и он не работает:

thead {
    position: -webkit-sticky;
    position: -moz-sticky;
    position: -ms-sticky;
    position: -o-sticky;
    position: sticky;
    top: 10px;
}

http://jsfiddle.net/8LRms/

В соответствии с этим он должен работать:

http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit

Он, казалось, поддерживался в Chrome 23.0.1247.0, но теперь он не работает в 26.0.1410.43 м.

4b9b3361

Ответ 1

EDIT: вам нужно запустить с флагом --enable-experimental-webkit-features с помощью about:flags.

Обновление: Это не работает в Chrome v35 - v51, Chrome 52 повторяет это с помощью флажка функций экспериментальной веб-платформы. Начиная с Chrome 56 position: sticky работает из коробки.

Ответ 2

В течение короткого времени Chrome включил эту функцию за флагом --enable-experimental-webkit-features в разделе about: flags. Тем не менее, он был вскоре удален из-за неэффективности в том, как браузер перекрашивал.

Начиная с Chrome 56 эта функция снова включена без флага.


В Chrome 52.0.2743.116 эта функция снова включена флагом --enable-experimental-webkit-features.


Чтобы ответить на обновленный вопрос о , почему он был удален: Google (Chromium) удалил поддержку position: sticky из-за незаконченного характера спецификации, и они будут сосредоточены на других прокручивающих функциях в наработка:

"В конечном итоге мы хотели бы реализовать позицию: липкий, но текущий реализация не разработана таким образом, чтобы она хорошо сочеталась с существующими системы прокрутки и компоновки. Например, позиция: липкая зависимость от updateLayerPositionsAfterDocumentScroll для правильной работы, но это функция не имеет других целей и в противном случае может быть удалена. По аналогии, position: sticky не работает вообще с композитной прокруткой переполнения, которая теперь является механизмом по умолчанию для прокрутки в двигателе.

Как только у нас будет порядок прокрутки и компоновки, мы должны вернуться на позицию: липкий и реализовать функцию таким образом, чтобы она хорошо интегрировалась с остальной частью двигателя. На данный момент, однако, этот CL удаляет наш текущий чтобы мы могли сосредоточиться на улучшении нашей реализации прокрутки которые мы уже отправили".

Акцент мой. Вы можете узнать больше об этом здесь.

Ответ 4

Кажется, что он не работает в iOS7 Safari, если есть родительский node с набором свойств overflow: hidden.

Ответ 5

Когда Chrome переключился на механизм рендеринга Blink с версией 28, они потеряли Webkit, который является единственным движком для поддержки этого (на Mac и iOS.)

Поэтому, если вы не используете Safari на Mac или iOS или Chrome на iOS (пока), вы не сможете поддерживать это в других браузерах.

Печально, это отличный и простой способ плавания элементов.

Ответ 6

отличные новости заключается в том, что с Chrome 56 (в настоящее время бета-версия по состоянию на декабрь 2016 года, стабильная в январе 2017 года) позиция: липкий теперь вернулся в Chrome.
Таким образом, в ближайшем будущем только Edge будет единственным из всех браузеров, который еще не реализовал его, кроме браузеров для мобильных устройств, но я надеюсь, что они тоже скоро его осуществят.