RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1596949
Accepted
siberian
siberian
Asked:2024-10-17 11:47:32 +0000 UTC2024-10-17 11:47:32 +0000 UTC 2024-10-17 11:47:32 +0000 UTC

如何在网格中制作开口块

  • 772

如何制作如图所示的块

在此输入图像描述

这是标签结构

<div class="q-list">
<div class="row">
  <div class="col-4">
    <!-- Контент первого блока -->
  </div>
  <div class="col-4">
    <!-- Контент второго блока -->
    <div class="блок на полную ширину">
      //список тоже по сетке
    </div>
  </div>
  <div class="col-4">
    <!-- Контент третьего блока -->
  </div>
   <!-- остальные блоки в сетке -->
   </div>
 </div>
 </div>
</div>
html
  • 3 3 个回答
  • 62 Views

3 个回答

  • Voted
  1. Евгений Ли
    2024-10-17T12:51:24Z2024-10-17T12:51:24Z

    我知道您正在使用 bootstrap,因此只需查看我在 HTML 中构建的结构 - 这正是在 bootstrap 网格中形成块的方式。为了清楚起见,我自己添加了样式;事实上,它们已经在引导程序中了。

    .row {
      display: flex;
      flex-wrap: wrap;
    }
    .col-3 {
      display: block;
      width: 33.333333%;
      border: 1px solid;
      min-height: 50px;
      box-sizing: border-box;
    }
    .col-4 {
      display: block;
      width: 25%;
      border: 1px solid;
      min-height: 50px;
      box-sizing: border-box;
    }
    .col-12 {
      display: block;
      width: 100%;
      border: 1px solid;
      min-height: 50px;
      box-sizing: border-box;
      padding: 5px;
    }
    <div class="row">
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-12">
        <div class="row">
          <div class="col-4">
    
          </div>
          <div class="col-4">
    
          </div>
          <div class="col-4">
    
          </div>
          <div class="col-4">
    
          </div>
        </div>
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-4">
        
      </div>
      <div class="col-12">
        
      </div>
      <div class="col-3">
        
      </div>
      <div class="col-3">
        
      </div>
      <div class="col-3">
        
      </div>
    </div>

    • 1
  2. darinka poznyak
    2024-10-17T20:02:53Z2024-10-17T20:02:53Z

    我将提供这个有点替代的选择。

    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    
    <div class="container">
      <div class="row">
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
        <div class="col-3 border border-black bg-success">
          <p>
            <button class="btn p-0" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"><div>col-3</div></button>
          </p>
        </div>
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
      </div>
      <div class="row collapse" id="collapseExample">
        <div class="col-3">
          <div>content col-3-success</div>
        </div>
        <div class="col-3">
          <div>content col-3-success</div>
        </div>
        <div class="col-3">
          <div>content col-3-success</div>
        </div>
        <div class="col-3">
          <div>content col-3-success</div>
        </div>
      </div>
      <div class="row">
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
        <div class="col-3 border border-black">
          <div>col-3</div>
        </div>
      </div>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>

    • 0
  3. Best Answer
    siberian
    2024-10-18T13:01:08Z2024-10-18T13:01:08Z

    这是一个可行的解决方案(Vue 3 中的代码):

    <template>
     <div>
    <div v-for="(row, rowIndex) in rows" :key="rowIndex" class="row">
      <div
        v-for="(block, colIndex) in row"
        :key="colIndex"
        :class="getColumnClass()"
        @click="toggleExpandedBlock(rowIndex * columnsPerRow + colIndex)"
      >
        <div class="block-content">
          {{ block }}
        </div>
      </div>
      
      <div v-if="expandedRowIndex === rowIndex" class="col-12">
        <div class="expanded-block">
          Expanded Block (для блока {{ expandedBlockIndex + 1 }})
        </div>
      </div>
    </div>
     </div>
     </template>
    
    <script setup>
    import { ref, computed } from 'vue'
    
     const blocks = ref(['Block 1', 'Block 2', 'Block 3', 'Block 4', 'Block 5', 'Block 6'])
    
    const columnsPerRow = 3
    
    const expandedBlockIndex = ref(null)
    
    const expandedRowIndex = computed(() => {
     return expandedBlockIndex.value !== null
    ? Math.floor(expandedBlockIndex.value / columnsPerRow)
    : null
     })
    
       const toggleExpandedBlock = (index) => {
       expandedBlockIndex.value = expandedBlockIndex.value === index ? null : index
       }
    
      const rows = computed(() => {
       const result = []
       for (let i = 0; i < blocks.value.length; i += columnsPerRow) {
         result.push(blocks.value.slice(i, i + columnsPerRow))
       }
      return result
      })
    
      const getColumnClass = () => {
      return columnsPerRow === 2 ? 'col-6' : 'col-4'
     }
     </script>
    
    <style>
    .row {
     display: flex;
      flex-wrap: wrap;
     }
     .col-4, .col-6 {
     padding: 10px;
     box-sizing: border-box;
     }
    .col-12 {
     width: 100%;
     }
     .block-content {
     background-color: lightblue;
      padding: 20px;
     text-align: center;
     cursor: pointer;
     border: 1px solid #ccc;
     }
    .expanded-block {
      width: 100%;
      background-color: lightcoral;
     padding: 30px;
     margin: 10px 0;
    }
    
    • 0

相关问题

  • 具有非均匀背景的块内的渐变边框

  • 离开页脚

  • 如何将三个字段的数据收集到一封电子邮件中?

  • Html 元素刚从父元素中出来

  • 如何在css中制作这个背景?

  • 如何制作带有斜条纹的背景?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5