引导网格与折叠容器之间

2023-12-09

这是我的第一个问题,我希望你能帮助我。我正在尝试使用引导网格设置产品概述页面。我已经连续购买了 4 款大屏幕产品。对于较小的屏幕尺寸,我希望每行有 2 个产品。

诀窍是,我想将产品详细信息放在行之间的折叠容器中,当我单击产品时,该容器会打开。它适用于 4 个产品的大屏幕尺寸。但是如何实现折叠的容器在我单击产品的行之后立即显示,而与每行有多少产品无关。在较小的尺寸上,即使我单击第一行中的产品,折叠的容器也会在第二行之后打开。

当我将每个折叠的容器放在标记中的产品后面时,当我打开它时,它会推开其他产品。

抱歉,这有点复杂,我希望你明白我的意思。

为了更好地理解,请查看我在 codepen 上的笔。

我想让它尽可能简单,但我不确定该走哪条路?

http://codepen.io/auftakt/pen/PWxJVX

坦克给所有人。

$('.collapse-btn').on('click',function(){$('.collapse').collapse('hide');})
body {
  margin-top: 50px;
  overflow-y: scroll;
}

.img-responsive {
  width:100%;
}

.col-xs-6{
  margin-bottom: 20px;
}

.product-detail {
  width: 100%;
  height:300px;
  background-size: cover;
  background-position: center center;
}

.no-padding-left {
  padding-left: 0;
}

.product-collapse-wrap > div {
  margin-bottom: 20px;
}
<div class="container">
  <div class="row">
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-1" aria-expanded="false" aria-controls="Product-1">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-2" aria-expanded="false" aria-controls="Product-2">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-3" aria-expanded="false" aria-controls="Product-3">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-4" aria-expanded="false" aria-controls="Product-4">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
  </div>

  <div class="product-collapse-wrap">
    <div id="Product-1" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 1</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-2" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 2</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-3" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 3</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-4" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 4</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div class="row">
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-5" aria-expanded="false" aria-controls="Product-5">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-6" aria-expanded="false" aria-controls="Product-6">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-7" aria-expanded="false" aria-controls="Product-7">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
    <div class="col-md-3 col-xs-6">
      <a class="collapse-btn" data-toggle="collapse" href="#Product-8" aria-expanded="false" aria-controls="Product-8">
        <img class="img-responsive" src="http://placehold.it/600x600">
      </a>
    </div>
  </div>

  <div class="product-collapse-wrap">
    <div id="Product-5" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 5</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-6" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 6</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-7" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 7</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
    <div id="Product-8" class="col-md-12 collapse">
      <div class="row">
        <div class="col-md-6 no-padding-left">
          <div class="img-responsive product-detail" style="background-image: url('http://placehold.it/800x600')"></div>
        </div>
        <div class="col-md-6">
          <h3>Product 8</h3>
          <ul>
            <li>Flachheizkörper</li>
            <li>Planheizkörper</li>
          </ul>
        </div>
      </div>
    </div>
  </div>

不久前,我在这里回答了一个类似的问题:Bootstrap 响应式网格布局(3 列),每个网格元素下方具有折叠/隐藏的 col-12

基本上,您必须将折叠的行放在适当的行下方col-*以适合您的最小布局。所以在你的情况下:

  <div class="row">
            <div class="col-md-3 col-xs-6">
                <a href="#one" data-toggle="collapse"><img src="//placehold.it/600"></a>
            </div>
            <div class="col-md-3 col-xs-6">
                <a href="#two" data-toggle="collapse"><img src="//placehold.it/600"></a>
            </div>
            <div class="col-xs-12 overlay collapse" id="one">
                1
            </div>
            <div class="col-xs-12 overlay collapse" id="two">
                2
            </div>
            <div class="col-md-3 col-xs-6">
                <a href="#three" data-toggle="collapse"><img src="//placehold.it/600"></a>
            </div>
            <div class="col-md-3 col-xs-6">
                <a href="#four" data-toggle="collapse"><img src="//placehold.it/600"></a>
            </div>
            <div class="col-xs-12 overlay collapse" id="three">
               3
            </div>
            <div class="col-xs-12 overlay collapse" id="four">
               4
            </div>
   </div>

然后你需要一些额外的CSSoverlay折叠列,使其在较大屏幕上的整行下方具有全宽。

Demo: http://www.codeply.com/go/0QGguzIYCx

对于 Bootstrap 4,这种情况更容易,因为弹性盒订购.. http://codeply.com/go/qdUGPVL4HJ(阿尔法6)

http://codeply.com/go/TLJi5MxQ1E (引导程序4.0.0)
http://codeply.com/go/EsRR1nGa36 (引导程序4.3.0)


也可以使用 jQuery/JS 来处理排序逻辑:https://codeply.com/p/Fs1zOQCk1q

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

引导网格与折叠容器之间 的相关文章

  • 如何使字形更大? (改变尺寸?)

    我想让地球字形更大 以便它覆盖页面的很大一部分 它是矢量图像 它不是在按钮或任何东西中 而是在按钮中 它只是孤独的 有没有办法做到这一点 div class jumbotron span class glyphicon glyphicon
  • 如何在 Ruby on Rails 中向 select_tag 添加类

    难以为此添加类标签 div class field div 这是我尝试过的 除其他外 div class field div
  • 网格属性不适用于网格容器内的元素

    我正在尝试定位嵌套li ul li ul li 在最顶层创建的 CSS 网格上ul 还没有爱 它不起作用 也许这是不可能的 或者我错过了什么 orgChart ul orgChartLevel1 display grid grid temp
  • 如何在 data-disable-with 上设置 html 到 Rails Submit_tag

    我有一个使用 bootstrap 的 RoR 应用程序 我正在尝试将 fontawesome html 图标标签应用于 Submit tag 帮助程序 但它似乎不受支持 当我单击 提交 时 禁用内容仅显示为字符串 而不是解释为 html 尽
  • 按下按钮时如何更改 Twitter Bootstrap 选项卡?

    我需要在按下按钮时更改选项卡 并且选项卡应由 id 标识 以下代码对我不起作用 只是重新加载页面 div class form actions div
  • Android 上的 Chrome 强制隐藏地址栏

    我最近开发了一个获取混合 http https 内容的网站 因此 我总是将地址栏显示在顶部 它不会像其他网站那样自动隐藏 这就是我要说的 This https planetkde org 是网站的链接 内容是从各种来源获取的 因此无法过滤非
  • CSS 列数导致项目拆分列

    尝试不使用 jQuery 脚本来实现砖石效果 因此寻找 CSS 替代方案 我正在尝试使用列计数 这似乎有效 但不符合预期 因此 列就在那里 但有时容器中的项目会被拆分为多个列 正如您应该在此示例中看到的那样 http jsfiddle ne
  • 循环浏览 Bootstrap 3 jumbotron 的背景图像

    我正在尝试获取 3 个图像作为 Bootstrap 3 jumbotron 的背景循环播放 但问题是我在大屏幕中有 3 个 div 到目前为止我尝试过的所有解决方案都要求我将大屏幕的位置更改为相对位置 将背景图像更改为绝对位置 而且因为我试
  • fontawesome 图标在 Chrome 和 Firefox 中渲染不一样

    在 Chrome Safari 中 我的引导按钮内的图标看起来不错 但在 Firefox 中 图标会下降一条线 我有一个很棒的图标漂浮在
  • 配置 KnpPaginator 以与 Twitter Bootstrap 配合使用

    i m trying to apply twitter bootstrap css style to my knp pagination without modifying the vendor Is there a way to conf
  • XAML 网格可见性转换?

    我有一个网格 其可见性绑定到我的视图模型中的属性 这一切都工作正常 网格正确地出现 消失 我的问题是 如何应用过渡 以便网格内容滑入 UI 边缘 而不是立即从屏幕上消失 当它可见时 它应该再次滑出
  • 带有右侧固定侧边栏的 Bootstrap 响应式网格

    我想创建一个带有类似引导程序的模板 它尊重网格的响应系统 在图中 导航栏和右侧 包含两个按钮 是粘性的 始终显示在视图上 我的问题是右侧 因为在引导网格系统中 右侧块将被视为单行 而主要内容包含多行 我怎样才能做到这一点 围绕整个 Boot
  • 允许点击 twitter bootstrap 下拉切换链接吗?

    我们已经设置了 Twitter 引导下拉菜单以在悬停时工作 而不是单击 是的 我们知道触摸设备上没有悬停 但我们希望当我们单击主链接时能够使其正常工作 默认情况下 twitter bootstrap 会阻止它 那么我们如何重新启用它呢 只需
  • Twitter Bootstrap 轮播在加载时自动播放

    使用twitter bootstrap框架 如何调用轮播来 自动滑动 这意味着当页面加载时 轮播会自动滚动 我尝试过 javascript onLoad click 函数 a 下一个链接的 但这不起作用 你应该这样做Twitter Boot
  • grid-auto-columns 在 Firefox 中不能完全工作

    我不明白为什么 DIV 3 的大小与 DIV 1 DIV 2 的大小不同 https codepen io anon pen vaVqPW https codepen io anon pen vaVqPW grid display grid
  • 如何在 Angular 项目中使用 Bootstrap?

    我开始我的第一次Angular应用程序和我的基本设置已完成 我怎样才能添加引导程序我的申请 如果您可以提供一个示例 那么这将是一个很大的帮助 如果您使用Angular CLI要生成新项目 还有另一种方法可以使 bootstrap 可访问角度
  • Bootstrap 中的旋转字形 / Font Awesome

    我试图让引导站点中的字形在悬停时旋转 除了更改颜色之外 这是我的尝试 http jsfiddle net young greedo17 88g5P http jsfiddle net young greedo17 88g5P 使用此代码 d
  • 使用 CSS 网格布局使网格项内的元素高度相等

    我在长度超过 4 的 div 中有一系列文章 没有任何舍入行标签 我需要将其表示为每行 3 篇文章 列 的表格 可能包含display grid 每篇文章都有页眉 章节和页脚 如何在每行文章内实现每个标题的等高 每个部分的等高以及与文章底部
  • 与 IE8 兼容的最新 jQuery 版本是什么?

    我正在开发 Bootstrap 3 网站 并且我使用的 jQuery 版本 1 9 1 遇到了一些问题 我升级到 2 1 0 我的问题消失了 但是 这破坏了 IE8 兼容性 因为 2 1 0 不再支持 IE8 并且 jQuery 在该浏览器
  • 当按钮处于加载状态时,如何向按钮添加微调器图标?

    Twitter 引导按钮 http getbootstrap com javascript buttons有一个很好的Loading 状态可用 问题是它只显示一条消息 例如Loading 通过了data loading text像这样的属性

随机推荐

  • 展开循环有效,for 循环无效[重复]

    这个问题在这里已经有答案了 我有一些我不理解的行为 虽然展开的循环工作正常 循环抛出 IndexOutOfRangeExceptions 调试显示有 0 9 个 teamButtons 和 0 9 个卡片 c i private void
  • 为密度图中的平均值、数据框中的新变量创建 geom_vline,而不创建新表

    在这里我正在看mtcars数据集 我创建了一个密度图wt变量使用ggplot2包裹 我也把geom vline 图层添加一条垂直线作为平均值wt ggplot mtcars aes x wt geom density geom vline
  • 从 Uri 设置布局背景

    当我从图库中选择图像时 我会返回一个 Uri 我想将此图像设置为布局的背景 如果是ImageView就好了 我该怎么做 case LOAD FROM GALLERY mImageCaptureUri data getData ImageVi
  • Jenkins git-client:如何在 Windows 上迁移到 jgit

    自从詹金斯git client插件已移至使用jgit 配置方面存在很多问题 我见过的所有解决方案都涉及切换回使用旧的 git 命令行 因为现在大多数安装都已到位 以使其在大多数时间都可以工作 我们是同一条船 但是git命令行还是veryWi
  • jquery 工具 - 选项卡鼠标悬停 - 添加链接

    我喜欢这个工具 它可以在将鼠标移动到像素上时显示文本 http flowplayer org tools demos tabs mouseover htm 现在 当鼠标单击其中一个像素时 我尝试打开一个链接 我尝试了这样的方法 origin
  • 如何通过多项选择调整 Spinner 中项目的高度大小?

    我只是展示spinner在此基础上进行多项选择stackoverflow 答案 参见 Destil 答案 这里我的问题是我无法通过多项选择来调整 Spinner 中项目的高度大小 如何调整每个项目的高度 据我所知 您将必须使用自定义适配器
  • Visual Studio Express 2013 背后的代理

    我刚刚下载并安装了适用于 Windows 桌面的 Visual Studio Express 2013 我正在使用用户名 密码身份验证的代理后面工作 但我不知道如何注册该产品 女巫现在有效 14 天 每次 407 需要代理身份验证 我尝试编
  • Java 表达式解析器和计算器 调车场算法

    所以任务是为表达式计算器创建我们自己的解析器 例如 输入 3 2 1 6 3 输出 3 输入 3 2 输出 无效表达式 输入 5 2 输出 3 输入 5 2 输出 7 这里的代码解决了问题的一部分 除了它有一个固定的输入和负值无法解决 而且
  • 在 VS Code 上模拟 Android 时出现“无效参数:无法找到 null 的可执行文件” - Mac OS X

    当我通过 Android Studio 安装 Android SDK 后尝试在 Mac OS Catalina 中的 VS Code 上模拟 Android 时 它返回消息 无效参数 无法找到 null 的可执行文件 我已经创建了环境变量
  • 变量在其自己的初始值内使用,而变量在 init 之后的闭包内使用

    typealias CBType gt Void class A let b B func test let token b register CBType in self b waitFor token ERROR Variable us
  • 水平 UIButton 中的垂直文本

    我在纵向应用程序中使用垂直 UIButton 只是一个宽度为 60 高度为 160 的普通按钮 我想将标签垂直放置在按钮下方而不是横跨按钮 当我使用以下代码旋转标签时 workPackageButton titleLabel setTran
  • DispatchQueue.sync 与 DispatchQueue.async 之间的区别

    我试图理解 Dispatch Sync 和 Dispatch Async 我知道它以 GCD 的同步和异步方式执行 但是当我尝试下面的代码时 它给了我奇怪的场景 我在 Playground 中测试了下面的代码 同步块执行了 3 次 异步块给
  • 如何便携式地打开大文件支持?

    我目前正在编写一个 C 程序 该程序可以读取和写入大小可能超过 2 GiB 的文件 在Linux上功能测试宏 7 规定 LARGEFILE64 SOURCE Expose definitions for the alternative AP
  • 如何使用 REST API 下载 Parse.com 文件类型?

    Parse com REST API 文档列出了与 Parse com 数据交互的多种方式 例如上传和下载类 它还描述了上传文件 但它没有提到如何从 Parse com 下载文件 有谁知道这是否可能 如果可以 该怎么做 Parse com
  • WCF 耐用服务是正确的选择吗?

    我们正在选择在 WCF 会话 调用之间保存状态的最佳方法 我们发现WCF耐用服务适合我们的需要 我们想知道这对于大量使用是否可以 我们预计有 1000 多个会话 每个会话将保存大约 100KB 的数据 xml 序列化格式 并保存复杂的对象
  • 使用延迟形状数组从 C 调用 Fortran

    是否可以从 C C 调用 Fortran 子例程 其中 Fortran 参数之一是延迟形状数组 希望我正确使用了术语 延迟形状 在下面的例子中 subr1 使用显式形状 并且工作正常 但是subr2 使用延迟形状并导致段错误 这个问题表示需
  • 如何将 PHP 数组表示为逗号分隔的字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP MYSQL 在 WHERE 子句中使用数组 我有一个 ID 值为 1 5 2 6 7 的数组 我需要在 MySQL item id IN 1 5 2 6 7 语句中使用它来仅选择具有数组中列出
  • “this”是否指的是调用此函数的元素?

    在下面的代码片段中我使用 this 引用调用该函数的元素 我知道这是不正确的 因为我打印了这些值 它给了我 未定义 如何引用输入元素 function datepicker datepicker onSelect function date
  • 如何像“netstat -p”一样但更快?

    netstat p 和 lsof n i P 似乎都读取链接所有进程 fd 例如stat proc fd 怎样做才能更有效率呢 我的程序想知道哪个进程正在连接到它 一次又一次地遍历所有流程似乎效率太低 建议 iptables 或内核补丁的方
  • 引导网格与折叠容器之间

    这是我的第一个问题 我希望你能帮助我 我正在尝试使用引导网格设置产品概述页面 我已经连续购买了 4 款大屏幕产品 对于较小的屏幕尺寸 我希望每行有 2 个产品 诀窍是 我想将产品详细信息放在行之间的折叠容器中 当我单击产品时 该容器会打开