我正在尝试使用 Bootstrap 创建以下(模型) /image/vkgBu.jpg
我的想法是,这些方 block 中的每一个都是一个图像,当单击背景图像时它们出现/消失时,我将拥有 Javascript 控件。我遇到的麻烦是让小方 block 像我一样堆叠在上面。我在这里做了研究,自己尝试了很多东西,但接近但没有雪茄。
这是我最接近的(首先测试 1 行)。 /image/mqTc1.jpg
方 block 彼此相邻排列得很好,但是它们没有正确显示在同一网格列/行中。
相关 HTML:
<div class="container-fluid">
<div class="row-centered">
<div class="row row-centered">
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img" onclick="StockCount();" />
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
</div>
</div>
<div class="row row-centered">
<div class="col- col-centered">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-">
<img src="resources/images/grey.jpg" class="character-img">
</div>
</div>
</div>
CSS:
.character-img{
position: relative;
z-index: 10;
}
.stock-img{
position: relative;
z-index: 20;
}
编辑: 更新版本会产生更好的结果?包括将蓝色框添加到第二行。
HTML
<div class="container-fluid">
<div class="row-centered">
<div class="row row-centered">
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img" onclick="StockCount();" />
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
</div>
</div>
<div class="row-centered">
<div class="row row-centered">
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img" onclick="StockCount();" />
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
<img src="resources/images/blue.jpg" class="stock-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
<div class="col-2">
<img src="resources/images/grey.jpg" class="character-img">
</div>
</div>
</div>
</div>
CSS
.character-img{
position: relative;
z-index: 10;
}
.stock-img{
position: relative;
z-index: 20;
}
最佳答案
根据您向我们展示的描述您想要的结果的图像,我认为 Bootstrap 是一个明智的选择。您想要在布局中执行的大部分操作都可以使用 native 类来实现。但也很明显,您缺乏对 Bootstrap 框架的基本了解,我强烈建议您重新访问他们的文档。
可以在以下位置查看您尝试实现的结构的完整示例:https://www.bootply.com/SwuSKmlKWe
但让我们看一下单个“盒子”元素的 HTML:
<div class="col-6 col-md-4 col-lg-3 mb-4">
<div class="h-100 bg-secondary p-4">
<img src="//placehold.it/200x200" class="rounded-circle img-fluid d-block mx-auto" />
<div class="row mt-4">
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
<div class="col-3 text-center mb-2"><img src="//placehold.it/50x50" class="img-fluid" /></div>
</div>
</div>
</div>
第一个<div>
element 是一个列包装器,它提供有关将影响显示的断点的信息。从左到右,它是用最小的断点 ( col-*
) 到最大的。如果我们要将其翻译成可读的内容,它可能会显示为:
At the smallest breakpoint use 6/12 columns. At the medium breakpoint begin using 4/12 columns, and at the large breakpoint use 3/12 columns.
注意:col-sm-*
存在但未在此处使用。因为没有使用“小”断点,所以 Bootstrap 将默认为下一个最小的断点(在本例中为 col-6
在列包装器内部,我们有另一个包含多个类的包装器:
- .h-100 帮助我们创建等高元素,无论 内容决定了较小的高度。
- .bg-secondary 是一个实用类,提供深色背景
- .p-4 是一个实用程序类,它在 X 和 Y 边距上提供填充(4 表示填充的“级别”,可以低至 0 和高至 5)
此时我们开始看到实际内容。您的主图像有几个影响其形状和位置的类别:
- .rounded-circle 是强制圆形边框半径的图像缩略图类。
- .img-fluid 是一个响应式类,可帮助图像大小与其所在的元素成比例地放大和缩小。
- .d-block 转换
img
进入 block 级元素 - .mx-auto 将 X 边距设置为“自动”,与
d-block
结合使用, 居中图像。
从这里我们可以看到您原始帖子中引用的 8 个按钮/图像。 Bootstrap Grid 是此类组织的完美解决方案,但由于我们已经在处理 Grid Element 中的内容,因此我们需要创建一个新的 .row
。 .
里面新.row
我们有一个断点列(.col-3
)和几个实用程序类:text-center
将内容居中,mb-2
以类似于 p-*
的方式设置下边距实用程序类更改填充。
关于html - 使用 Bootstrap 分层图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615628/