微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

图像未缩放到 div 元素的全宽 更新

如何解决图像未缩放到 div 元素的全宽 更新

我有一个 div 元素,我希望其中的图像可以缩放到父元素的全宽,但是由于某种原因它没有占据全宽。我可以使用 object-fit: cover;但我不想裁剪图像我希望它填满父级的空间。我也喜欢缩放它,因此它始终保持正方形,因此它始终缩放为相等的正方形。我有点困惑为什么它不占用父母的容器。它似乎想要保持其纵横比,但我希望它通过其高度和宽度属性拉伸到父容器

enter image description here

html:

import React from 'react';

const ThreeGridTeaser = (props) => {

    return (
        <div className="specific-offer-container mt-0">
            <div className="three-grid-teaser-wrapper">
                <div className="three-grid-teaser-container">
                    {props.gridData.map((item,index) => (
                        <div key={index} className="three-grid-teaser-block">
                            <div className="three-grid-image-container hidden">
                                <img src={item.image} 
                                />
                            </div>
                            <div className="product-text-container hidden">
                                <ul>
                                    <li className="product-title">{item.title}</li>
                                    <li className="product-description">{item.description}</li>
                                </ul>
                            </div>
                        </div>
                    ))}
                </div>
            </div>
        </div>       
    )
}

export default ThreeGridTeaser;

SASS:

.three-grid-teaser-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
}

.three-grid-teaser-container {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    height: auto;
    display: flex;
    grid-gap: 20px;
    gap: 20px;
    @media (max-width: 1199.98px) { 
        gap: 25px;
    } 
    @media (max-width: 767.98px) { 
        width: 100%;
    } 
}
.three-grid-teaser-block {
    display: flex; 
    width: 32%;
    height: fit-content;
    @media (max-width: 1199.98px) { 
        width: 48%;
    } 
    @media (max-width: 767.98px) { 
        width:47%;
    } 
    justify-content: center;
    flex-direction: column;
}

.hover-text-underline {
    text-decoration: underline;
    text-underline-position: under;
}

.three-grid-image-container {
    height: 300px;
    @media (max-width: 1199.98px) { 
        height: 350px;
    } 
    @media (max-width: 767.98px) { 
        height: 180px;
    }    

    width: 100%;
    max-width: 100%;
    img {
        display: block;
        max-width: 100%;
        max-height: 100%;
        width: 100%;
        height: 100%;
    }
}

.product-text-container {
    ul {
        margin-top: 10px;
        padding: 0;
        li:last-child {
            padding-top: 5px;
        }
        li {
            list-style: none;

        }
    }
}

.product-title {
    font-family: $terminaDemi;
    font-size: 12px;
    @media (max-width: 767.98px) { 
        font-size: 8px;
    } 
}

.product-description {
    font-family: $Montserrat;
    font-size: 18px;
    @media (max-width: 767.98px) { 
        font-size: 12px;
    } 
}

解决方法

这是因为图像已达到相对于 div 的最大高度。我的意思是,在 400 像素的正方形 div 内有一个 300 像素宽和 400 像素高的图像,在这种情况下,如果您在图像中放置 100% 的宽度,则其宽度将达到的最大值为 300 像素,在这种情况下你不想调整它的大小。

Demonstração

更新

'object-fit:contain' 使图像适合其按比例可用的空间,如果您希望它保持其比例并填充整个空间,请使用 'object-fit:cover'

看看这个 https://jsfiddle.net/gxnvuq6s/8/

,

您是否尝试查看 K 样式?然后,您还可以使用 background-size: cover;

定位您的图像

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?