如何防止底层文本开始换行时产品图片高度缩小?

How can i prevent product image height from shrinking when the underlying text starts wrapping?

提问人:ygnsl 提问时间:11/16/2023 更新时间:11/17/2023 访问量:35

问:

当屏幕高度发生变化时,缩略图图像的高度在整个滑块中不一致。每当文本开始换行时,缩略图的高度就会开始缩小以适合容器内的文本。图像必须保持响应,并且没有固定的高度设置。我正在使用 swiper-js 来创建我的滑块。

下面是示例作为屏幕截图来说明我的问题enter image description here

这是我现在拥有的代码,这是我尝试过的一切

HTML格式:

<div class="swiper-slide" data-product="<?=$product->get_id();?>">
   <a href="<?=get_permalink($product_id)?>">
     <div class="series-thumbnail">
     <img src="<?=$thumbnail_src[0]?>" alt="<?=$alt?>">
     <button class="series-quick-view"><span><?=$settings['quick-view-text']?></span></button>
     </div>
     <div class="series-meta">
       <span class="jiv-product-name"><?=$product->get_title();?></span>
       <span class="jiv-product-price"><?=$product->get_price_html();?></span>
     </div>
   </a>
</div>

CSS:

/* SERIES */

.jiv-series .swiper-slide{
    height: auto;
}

.jiv-series .swiper-slide a{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    transition: .3s;
    height: 100%;
    text-align: center;
}

.jiv-series .swiper-slide:hover a{
    border: 1px solid #000;
}

.series-thumbnail, .series-thumbnail img{
    height: 100%;
    object-fit: cover;
    position: relative;
}

.series-thumbnail .series-quick-view{
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px;
    background: unset;
    border: unset;
    text-align: center;
    width: 100%;
    font-size: 12.274px;
    display: block;
}

.series-thumbnail .series-quick-view span{
    opacity: 0;
}

.jiv-series .swiper-slide:hover a .series-thumbnail .series-quick-view span{
    width: 100%;
    display: block;
    padding: 10px;
    background: #ffffff8a;
    transition: .3s;
    border: 1px solid #000;
    opacity: 1;
}
HTML CSS 滑动器 .js

评论


答:

-1赞 A.J 11/16/2023 #1

如果需要为 定义特定的高度和宽度尺寸,可以使用以下 CSS:.series-thumbnail

.series-thumbnail {
  width: 240px;
  height: 200px;
}
0赞 ygnsl 11/17/2023 #2

因此,我通过将图像上的高度替换为纵横比来解决这个问题。

工作 css 如下所示(仅我所做的更改):

老:

.series-thumbnail, .series-thumbnail img{
    object-fit: cover;
    position: relative;
    height: 100%;
}

新增功能:

.series-thumbnail, .series-thumbnail img{
    object-fit: cover;
    position: relative;
}

.series-thumbnail img{
    aspect-ratio: 2 / 3;
}