CSS Grid使用特定的项目高度作为最大行高度

疯了

我试图防止边栏高度超过内容高度。
“区域”将包含任何高度的图像,因此其高度不固定或事先未知。

function toggleTabsContent() {
	const display = document.querySelector('.content').style.display;
  if (display == "none") {
  	document.querySelector('.content').style.display = "block";
  } else {
  	document.querySelector('.content').style.display = "none";
  }
}
.grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr auto;
  grid-template-areas:
    "tabs area"
    "footer footer";
}

.tabs {
  grid-area: tabs;
  background: #FF9800;
}

.area {
  grid-area: area;
  height: 200px;
  background: #673AB7;
}

.footer {
  grid-area: footer;
  background: #607D8B;
  height: 40px;
}

.content {
  height: 250px;
}
<button onclick="toggleTabsContent()">Make tabs taller/shorter</button>

<div class="grid">
  <div class="tabs">
    <div class="content" style="display: none"></div>
  </div>
  <div class="area"></div>
  <div class="footer"></div>
</div>

JSFiddle

陪同Afif

height:0;min-height:100%;tabs元素使用这将确保元素的高度不会影响其轨道的大小,然后通过添加min-height:100%您强制其使用其他元素定义的轨道的高度来:

function toggleTabsContent() {
	const display = document.querySelector('.content').style.display;
  if (display == "none") {
  	document.querySelector('.content').style.display = "block";
  } else {
  	document.querySelector('.content').style.display = "none";
  }
}
.grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr auto;
  grid-template-areas:
    "tabs area"
    "footer footer";
}

.tabs {
  grid-area: tabs;
  background: #FF9800;
  height:0;
  min-height:100%;
  overflow:auto;
}

.area {
  grid-area: area;
  height: 200px;
  background: #673AB7;
}

.footer {
  grid-area: footer;
  background: #607D8B;
  height: 40px;
}

.content {
  height: 250px;
}
<button onclick="toggleTabsContent()">Make tabs taller/shorter</button>

<div class="grid">
  <div class="tabs">
    <div class="content" style="display: none"></div>
  </div>
  <div class="area"></div>
  <div class="footer"></div>
</div>

相关问题:如何将外部div的高度设置为始终等于特定的内部div?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS网格-行的高度相同(最大高度)

来自分类Dev

HTML / CSS内容高度最大

来自分类Dev

使用CSS填充高度

来自分类Dev

使用CSS最大高度过渡向上/向下滑动?

来自分类Dev

CSS过渡最大宽度和最大高度

来自分类Dev

CSS过渡最大宽度和最大高度

来自分类Dev

使用CSS设置线条的高度和高度

来自分类Dev

如何使用CSS属性选择器定位特定高度?

来自分类Dev

CSS Grid的高度大于其容器div的高度

来自分类Dev

CSS背景无法达到最大高度

来自分类Dev

jQuery CSS最大高度不起作用

来自分类Dev

最大高度不考虑 css 转换

来自分类Dev

Css Grid - 顶行限制高度

来自分类Dev

CSS flexbox:如何使列项目填充高度

来自分类Dev

CSS高度:100%与高度:继承

来自分类Dev

CSS 如何同时要求最大高度和最大宽度?

来自分类Dev

如何使用最小高度格式化div并使用CSS Grid使子div顶部对齐?

来自分类Dev

使用N列,2行,容器的最大高度构建CSS网格

来自分类Dev

在css中使用溢出-y与高度自动

来自分类Dev

如何使用CSS使高度等于宽度

来自分类Dev

使用CSS Flex使元素连续等于高度

来自分类Dev

使用CSS的导航栏高度过渡

来自分类Dev

使用CSS布局(浮动)不同的高度块

来自分类Dev

仅使用CSS对齐文本容器的高度

来自分类Dev

使用jquery .css的div的响应高度

来自分类Dev

仅使用CSS设置宽度等于高度

来自分类Dev

使用CSS调整元素的边框高度

来自分类Dev

使用CSS创建高度动态的气泡

来自分类Dev

如何使用CSS设置最小高度