У меня странная ошибка в браузере Edge.
Сценарий
У меня есть фильтр, примененный к изображению, чтобы сделать его оттенками серого и инвертированным, который удаляется при наведении курсора на изображение. Однако они отображаются только при наведении "максимальная высота" перехода к родительскому контейнеру, поэтому имеет эффект раскрывающегося списка.
Проблема
Когда родительский контейнер опускается, он отображает изображение только частично. На моем действующем сайте он может загружать от 10% до 90% изображения, так как раскрывающийся список намного длиннее, и эти изображения находятся внизу, однако в моем примере ниже он отображает только самый верх изображения, поэтому вы может только разглядеть верх изображения.
Проблема устраняется путем удаления transition
из родительского контейнера или путем удаления filter
из изображения. Похоже, что обе эти вещи вместе вызывают проблему.
Живой пример (скрипка и фрагмент)
html, body {
height: 100%;
width: 100%;
}
body {
background: grey;
}
body:hover .sfHeader-companiesLinks {
max-height: 200px;
}
.sfHeader-companiesLinks {
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
-webkit-justify-content: space-around;
-moz-justify-content: space-around;
justify-content: space-around;
height: 50px;
max-height: 0;
overflow: hidden;
transition: max-height 0.5s cubic-bezier(0.17, 0.04, 0.03, 0.94)
}
.sfHeader-companiesLink {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0px;
-moz-box-flex: 1;
-moz-flex: 1 0 0px;
-ms-flex: 1 0 0px;
flex: 1 0 0px;
-webkit-filter: grayscale(100%) invert(100%) drop-shadow(0 0 5px rgba(41, 41, 44, 0.5));
filter: grayscale(100%) invert(100%) drop-shadow(0 0 5px rgba(41, 41, 44, 0.5));
background-repeat: no-repeat;
background-size: 100% 100%;
height: 50px;
max-width: 150px;
text-align: center;
}
.sfHeader-companiesLink:hover,
.sfHeader-companiesLink:active,
.sfHeader-companiesLink:focus {
-webkit-filter: unset;
filter: unset;
}
<p>Hover over the body</p>
<div class="sfHeader-companiesLinks">
<a class="sfHeader-companiesLink" style="background-image:url(https://upload.wikimedia.org/wikipedia/commons/1/1a/Arthur%2C_the_cat.jpg);" href="/features/listing-management/ebay"></a>
<a class="sfHeader-companiesLink" style="background-image:url(https://upload.wikimedia.org/wikipedia/commons/1/1a/Arthur%2C_the_cat.jpg);" href="/features/listing-management/amazon"></a>
<a class="sfHeader-companiesLink" style="background-image:url(https://upload.wikimedia.org/wikipedia/commons/1/1a/Arthur%2C_the_cat.jpg);" href="/features/listing-management/magento"></a>
</div>
Вещи пробовали (и потерпели неудачу)
- Создание изображения элементом
img
вместо фонового изображения - Фильтр применяется только при зависании тела
Проблема отдыха
Я понимаю, что, возможно, те, кто работает на ОС с фруктовым вкусом, не могут воспроизвести, поэтому я создал анимированный GIF-файл проблемы:
Вывод
Я ищу обходной путь, позволяющий сохранить эту функциональность. Все безумные предложения будут приняты во внимание! Я прекрасно понимаю, что фильтр в IE11 все равно не работает. Кажется, работает правильно как в Chrome, так и в Firefox. Спасибо.
1 ответ
В конце концов, эта функциональность была удалена, однако команда Microsoft Edge теперь занимается этим:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10423235/
Похожие вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].