Я пытался в течение последних нескольких часов выяснить, почему дочерний элемент позиционировался против своего родителя, а не экрана, хотя он позиционируется как "фиксированный". Очень к счастью, я наткнулся на упоминание о том, что -webkit-transform: translate3d(0, 0, 0)
на родителя может заставить вещи пойти наперекосяк. Я использую структуру bootstrap
, и поэтому они действительно помещают это свойство в класс .navbar-fixed-top
, который имеет один из родительских элементов. Как только я удалил его, ребенок начал позиционировать снова окно просмотра. Поэтому у меня есть два вопроса:
- Почему
-webkit-transform: translate3d(0, 0, 0)
делают эти неприятные вещи? - Почему реестры bootstrap помещают это свойство в класс
.navbar-fixed-top
?
UPDATE
Кажется, я нашел ответ на второй вопрос. Вот сообщение фиксации:
Прикладной translate3d для модального, установленного на navbar и прикрепленного к браузеру перекрашивать
Вот ответ на второй вопрос:
Любое вычисленное значение, отличное от none для преобразования, приводит к создание как стекирующего контекста, так и содержащего блока. Объект действует как содержащий блок для фиксированных помещенных потомков.