html - 来自背景图像的弹性项目大小
问题描述
- 有一个带有弹性项目的弹性盒子
- 每个弹性项目都应该显示为一个可点击的文件夹,其中包含特定的文本
- 据我了解,通过CSS实现这一目标的唯一方法是拥有背景图片问题是我也想获得以下内容:
- 约束每个 flex 项目,理想情况下仅通过宽度,例如 max-width: 20% (在移动设备上很好地显示它)
- 让弹性项目自动扩展它们的宽度/高度以显示完整的背景图像(保留上面的约束)
不幸的是,无法为此找到正确的参数组合,到目前为止它看起来像这样:
<div class="container">
<div class="column">
<a href="path1">name1</a>
</div>
<div class="column">
<a href="path2">name2</a>
</div>
</div>
.container {
height: 100vh;
display: flex;
flex-flow: row wrap;
align-items: center;
}
.column {
max-width: 20%;
background-image: url("./ic-folder.png");
background-size: contain;
background-repeat: no-repeat;
display: flex;
align-items: center;
justify-content: space-around;
这并没有达到目标 - 看起来每个项目都足够大,足以覆盖嵌套<a>
并且他们不关心那里的背景,所以它们比预期的要小。
我有一个假设,在这种特殊情况下,我们可以将项目的大小硬编码为背景图像大小,但这意味着每次更改背景图像时,我们都需要使用其新尺寸调整 css。
是否有任何 CSS 方法可以强制元素以覆盖其背景图像的方式增长?
解决方案
我认为不是在背景图像中添加图像,而是可以将其放在元素。当你这样做时,这个图像将是可点击的。此外,如果您使用我为img编写的样式代码,您将创建一个响应式图像。如果你想控制图像大小,你可以使用它的父 div 来控制它的宽度。所以我建议你给.column提供你想要的宽度并控制你的宽度和图像问题。
.container {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
.column {
display: flex;
align-items: center;
justify-content: center;
margin: 10px;
max-width: 20%;
/* background-image: url("https://t1.thpservices.com/previewimage/gallil/bbd632f2f8bb5df1c8f8aba51a0ef5dd/esy-008887292.jpg");
background-size: contain;
background-repeat: no-repeat; */
}
img {
max-width: 100%;
height: auto;
object-fit: contain;
}
@media screen and(max-width: 450px) {
.container {
flex-direction: column;
}
}
<div class="container">
<div class="column">
<a href="path1"
><img
src="https://t1.thpservices.com/previewimage/gallil/bbd632f2f8bb5df1c8f8aba51a0ef5dd/esy-008887292.jpg"
alt=""
/>name1</a
>
</div>
<div class="column">
<a href="path2"
><img
src="https://t1.thpservices.com/previewimage/gallil/bbd632f2f8bb5df1c8f8aba51a0ef5dd/esy-008887292.jpg"
alt=""
/>name2</a
>
</div>
</div>
推荐阅读
- c# - 如何使用 lambda 在 c# Mongodb 驱动程序中使用异步选择子列表
- javafx - 如何修复 NullPointerException 以在 JavaFX 中填充控制器?
- dart - 什么时候调用 StatefulWidget 的 init 方法
- python - 在Python中的字符串中的特殊字符之后获取第一个单词
- performance - awk - 快速选择行而不丢失值
- python - Numpy - 归一化 RGB 图像数据集
- bluetooth - 为什么 BluetoothLEAdvertisementWatcher 停止触发“已接收”事件?
- python - 如何使用 python 二进制路径在虚拟环境中执行 python 脚本?
- javascript - JS 语法错误 Uncaught SyntaxError: missing ) after argument list
- python - 等价于多处理。在 pathos 中的进程