Отображение другого изображения продукта при наведении - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь показать другое изображение товара при наведении курсора на странице своей коллекции. Shopify предоставил эту статью: https://help.shopify.com/en/themes/customization/collections/add-hover-effect-to-product-images

Ниже приведен код на странице product-grid-item.liquid:

        <div class="reveal">
            <img class="grid-product__image" src="{{ image.src | img_url: '1024x' }}" alt="{{ image.alt | escape }}">
            <img class="hidden" src="{{ product.images.last | img_url: '1024x' }}" alt="{{ product.images.last.alt | escape }}" />
        </div>  

Ниже приведен код, добавленный в theme.scsss. жидкость:

/* ===============================================
// Reveal module
// =============================================== */

.reveal .hidden { display: block !important; visibility: visible !important;}
.product:hover .reveal img { opacity: 1; }
.reveal { position: relative; }
.reveal .hidden { 
  position: absolute; 
  z-index: -1;
  top: 0; 
  width: 100%; 
  height: 100%;  
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;  
}
.reveal:hover .hidden { 
  z-index: 100000;
  opacity: 1;    
}
.reveal .caption {
  position: absolute;
  top: 0;  
  display: table;
  width: 100%;
  height: 100%;
  background-color: white; /* fallback for IE8 */
  background-color: rgba(255, 255, 255, 0.7);
  font: 13px/1.6 sans-serif;
  text-transform: uppercase;
  color: #333;
  letter-spacing: 1px;
  text-align: center;
  text-rendering: optimizeLegibility;
}
.reveal .hidden .caption .centered {
  display: table-cell;
  vertical-align: middle;
}

@media (min-width: 480px) and (max-width: 979px) {
  .reveal .caption { 
    font-size: 11px; 
  }
}

На моей странице не происходит никаких изменений.

1 Ответ

0 голосов
/ 14 октября 2019

Проверьте это. Пожалуйста, измените путь SRC к вашему требованию. Надеюсь, это поможет.

.reveal{position: relative; width:300px; border:1px red solid; height:200px; margin: 0 auto}
.reveal img{ position: absolute; left:0; top:0; right:0; bottom:0; margin:0 auto; transition: all .3s ease-in-out;}
.grid-product__image{opacity:1}
.hidden{opacity:0;}
.reveal:hover .grid-product__image{opacity:0;}
.reveal:hover .hidden{opacity:1}
<div class="reveal">
            <img class="grid-product__image" src="https://img.icons8.com/office/30/000000/address-book.png" alt="{{ image.alt | escape }}">
            <img class="hidden" src="https://img.icons8.com/clouds/30/000000/business.png" alt="{{ product.images.last.alt | escape }}" />
        </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...