Почему не работает z-index для карточки товара WooCommerce?
Всем привет! Делаю магазин на WP, есть следующая задача:
Нужно, чтобы при наведении на элемент карточки подтягивалось краткое описание. Я решил задачу так:
.descr {
display: none;
}
.woocommerce ul.products li.product:hover .descr {
display: inline;
}
Всё ок, описание подтягивается, при этом толкает нижний элемент карточки. Чтобы "толчка" не происходило, я решил наложить z-index, вот так:
.woocommerce ul.products li.product:hover {
box-shadow: 0 0 35px #40d143;
padding: 5px;
position: relative;
z-index: 999;
}
Но беда, ничего не произошло!
Подскажите, пожалуйста: в чём дело?
З.Ы. желательно решить кейс с помощью css, потому что JSa вообще не знаю :( Это возможно?
Ответы (1 шт):
На тех элементах, которые собрались при помощи z-index выстраивать, нужно всем указать position. Вот только есть мнение, что это не поможет, если ваши блоки расположены не выше и ниже, а слева и справа относительно друг друга.
Когда какому-то блоку прописываете display: none;, то его ширина становится 0 пикселов, а когда снова прописываете display: inline; то он обретает свою ширину и толкает другие блоки. Чтобы решить именно эту проблему, лучше такому блоку прописать прозрачность: opacity: 0;, а при наведении мышки смените на единицу. Так блок будет невидимым, но габариты свои не потеряет. Соседние блоки будут его габариты учитывать.