javascript - 我正在尝试使用 css 将每个图像缩放为相同的大小(使用反应)但存在失真
问题描述
所以我试图在响应式画廊中设置我必须相同大小的图像,最终它们将是可点击的,目前当我将高度和宽度设置为相同时,如果它们必须拉伸,图像会变形,但是这应该不是问题,因为他们试图适应的图像比原点小得多。
谢谢你的时间。
我的沙箱:https ://codesandbox.io/s/youthful-cerf-6bbo8
我的组件
const ImageView = ({ data }) => {
console.log(data);
return (
<ul className="flex-container wrap">
{data.map((item, index) => (
<li className="flex-item" key={index}>
{/* <Link to={`/api/posts/item/${item._id}`}> */}
<img
className="single-image"
src={item.image[0]}
alt="shows what this post is offering"
/>
{/* </Link> */}
</li>
))}
</ul>
);
};
export default ImageView;
CSS:
.flex-container {
padding: 0;
margin: 0;
list-style: none;
border: 1px solid silver;
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
}
.nowrap {
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.wrap {
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.wrap li {
background: transparent;
}
.wrap-reverse {
-webkit-flex-wrap: wrap-reverse;
flex-wrap: wrap-reverse;
}
.wrap-reverse li {
background: deepskyblue;
}
.flex-item {
background: tomato;
line-height: 100px;
color: white;
font-weight: bold;
font-size: 2em;
text-align: center;
}
.single-image {
height: 300px;
}
解决方案
如果不是,则无法制作相同宽度和高度的图像。可以做的最好的事情是为图像的父元素设置高度和宽度,并让图像进行相应的调整。请参见下面的示例代码:
.wrap li{
width:300px;
height:300px;
}
.single-image {
width: 100%;
}
推荐阅读
- python - Leetcode 问题:矩阵对角线排序 帮助(但不要太多)
- java - 小行星的推力方法复制 Java
- reactjs - Formik setValues 不适用于数字类型输入
- django - Django url路径转换器在生产中不起作用
- wireshark - Wireshark:过滤掉无趣的 zigbee 消息
- amazon-web-services - 如何获取 Mediaconvert 正在处理的特定作业的作业进度百分比?
- java - 如何参数化 AutoIt 脚本以处理跨浏览器窗口弹出标题和文件?
- multithreading - 为什么布尔值需要是原子的?
- terraform - 下载模块时出错:加载模块时出错:下载'ssh://git@bitbucket.org/project/repo.git'时出错:
- apexcharts - Apexcharts 更新系列