gpt4 book ai didi

html - 堆叠 css 网格元素

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:14 25 4
gpt4 key购买 nike

我有一个基于网格的布局。左右两个菜单和中间的内容区域。

在内容区域我有一个 4x4 的网格。4x4 网格布局示例:https://codepen.io/mannberg/pen/qemayy

html/哈巴狗

body.h-100.body-grid
div.h-100.menyLeft
div.h-100.bg-primary.text-light
div.sidebar-heading.d-flex.justify-content-center
h2 Left Menu
div.h-100.mainContent.d-flex.flex-column.justify-content-center
div.h-100.inner-grid
each val in [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
div.h-100.card.inner-grid-item.bg-secondary
center
h2= val
div.h-100.menyRight
div.h-100.bg-primary.text-light
div.sidebar-heading.d-flex.justify-content-center
h2 Right Menu

CSS

.inner-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-auto-rows: 1fr 1fr 1fr 1fr;
grid-gap: 16px;
}

.inner-grid-item:nth-child(4n) {
background-color: #20c997 !important;
}

.inner-grid-item:nth-child(3n) {
background-color: #ffc107 !important;
}

例子之间共享CSS

html, body {
height: 100% !important;
margin: 0px;
padding: 0px;
}

.mainContent {
padding-top: 18px;
padding-bottom: 18px;
}

.body-grid {
display: grid;
grid-gap: 10px;
grid-template-columns: 0.125fr 1fr 0.125fr;
grid-template-rows: 100%;
}

示例中使用的某些类需要 Bootstrap4。

4x4 grid

我在内容区域得到了另一个带有 2x2 网格的布局。2x2 网格布局示例:https://codepen.io/mannberg/pen/pMPNOK

html/哈巴狗

body.h-100.body-grid
div.h-100.menyLeft
div.h-100.bg-primary.text-light
div.sidebar-heading.d-flex.justify-content-center
h2 Left Menu
div.h-100.mainContent.d-flex.flex-column.justify-content-center
div.h-100.inner-grid2
each val in [0,1,2,3]
div.h-100.card.inner-grid-item2.bg-secondary
center
h2= val
div.h-100.menyRight
div.h-100.bg-primary.text-light
div.sidebar-heading.d-flex.justify-content-center
h2 Right Menu

CSS

.inner-grid2 {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-rows: 1fr 1fr;
grid-gap: 16px;
}

.inner-grid-item2:nth-child(3n) {
background-color: #e83e8c !important;
}

2x2 grid

如何将 2x2 网格堆叠在 4x4 网格上?我尝试弄乱 css 类 .inner-grid2 的 z-index 值,但我没有让它工作

我想要这样的东西

stacked grids

但得到这个 https://codepen.io/mannberg/pen/qemRXa:'(

我如何使用 z-index/position 让它工作?

最佳答案

因为 position:absolute 从正常流中移除元素。

position:relative 添加到 .mainContent 以便网格相对于它定位。

width:100% 添加到 innerGrid2 以强制其为 100%。

html, body {
height: 100% !important;
margin: 0px;
padding: 0px;
}

.menyLeft {
}

.mainContent {
padding-top: 18px;
padding-bottom: 18px;
position:relative;
}

.menyRight {
}

.body-grid {
display: grid;
grid-gap: 10px;
grid-template-columns: 0.125fr 1fr 0.125fr;
grid-template-rows: 100%;
}

.inner-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-auto-rows: 1fr 1fr 1fr 1fr;
grid-gap: 16px;
}

.inner-grid2 {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-rows: 1fr 1fr;
grid-gap: 16px;
position: absolute;
top: 0;
z-index: 20;
width:100%;
}

.inner-grid-item:nth-child(4n) {
background-color: #20c997 !important;
}

.inner-grid-item:nth-child(3n) {
background-color: #ffc107 !important;
}

.inner-grid-item2 {
background-color: rgba(108, 117, 125, 0.8) !important;
}

.inner-grid-item2:nth-child(3n) {
background-color: rgba(232, 62, 140, 0.8) !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<body class="h-100 body-grid">
<div class="h-100 menyLeft">
<div class="h-100 bg-primary text-light">
<div class="sidebar-heading d-flex justify-content-center">
<h2>Left Menu</h2>
</div>
</div>
</div>
<div class="h-100 mainContent d-flex flex-column justify-content-center">
<div class="h-100 inner-grid">
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>0</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>1</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>2</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>3</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>4</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>5</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>6</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>7</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>8</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>9</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>10</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>11</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>12</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>13</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>14</h2>
</center>
</div>
<div class="h-100 card inner-grid-item bg-secondary">
<center>
<h2>15</h2>
</center>
</div>
</div>
<div class="h-100 inner-grid2">
<div class="h-100 card inner-grid-item2 bg-secondary">
<center>
<h2>a</h2>
</center>
</div>
<div class="h-100 card inner-grid-item2 bg-secondary">
<center>
<h2>b</h2>
</center>
</div>
<div class="h-100 card inner-grid-item2 bg-secondary">
<center>
<h2>c</h2>
</center>
</div>
<div class="h-100 card inner-grid-item2 bg-secondary">
<center>
<h2>d</h2>
</center>
</div>
</div>
</div>
<div class="h-100 menyRight">
<div class="h-100 bg-primary text-light">
<div class="sidebar-heading d-flex justify-content-center">
<h2>Right Menu</h2>
</div>
</div>
</div>
</body>

另见:https://codepen.io/nobloss/pen/JgNywB

关于html - 堆叠 css 网格元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57282022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com