Проблема изменения воли в Chrome

Я заметил, что когда я добавляю will-change на фиксированной кнопке (с использованием JS) она становится действительно прерывистой. Это относится как к кнопке "изменится", так и к кнопке без нее.

Пример, показывающий проблему: http://jsbin.com/kelajo/3/edit?html,css,js,output

GIF, который показывает проблему: http://i.imgur.com/sTSkvFA.gifv

Удалить will-change линия и обе кнопки начнут работать.

Это проблема Chrome или я что-то упустил? Спасибо.

1 ответ

На самом деле это не ответ, но мне нужно поделиться этим с миром:

У меня тоже были проблемы с will-change свойство, поэтому я читаю это: https://developer.mozilla.org/en/docs/Web/CSS/will-change Оказывается, это свойство следует использовать очень разумно:

Имейте в виду, что изменение воли может фактически влиять на внешний вид элементов

Вот моя проблема: в этом примере will-change свойство связывается со стековым контекстом (z-index перекрывающиеся элементы). Первый элемент имеет это свойство, а другие нет (наведите курсор на темный div внутри зеленого div). Мне понадобилось несколько часов, чтобы выяснить, что не так с моим кодом, когда я пытался использовать will-change

.will-change {
  will-change: opacity;  
}

.list {
  position: relative;
}
.list-element {
  position: relative;
  max-width: 500px;
  height: 80px;
  padding: 10px;
  margin-bottom: 10px;
  background: #308e74;
  opacity: 0.8;
}
.list-element:hover {
  opacity: 1;
}
.hover-el {
  position: relative;
  height: 30px;
  background: rgba(0, 0, 0, .3);
}
.hover-el:hover .show-on-hover {
  display: block;
}
.show-on-hover {
  display: none;
  position: absolute;
  width: 100px;
  height: 300px;
  background: #e6841e;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .5);
  z-index: 100;
}
<div class="list">
  <div class="list-element will-change">
    <div class="hover-el">
      <div class="show-on-hover"></div>
    </div>
  </div>
  <div class="list-element">
    <div class="hover-el">
      <div class="show-on-hover"></div>
    </div>
  </div>
  <div class="list-element">
    <div class="hover-el">
      <div class="show-on-hover"></div>
    </div>
  </div>
</div>

Другие вопросы по тегам