100% 高度取决于兄弟元素的高度

G. *_*ega 2 html css

我需要元素cnt-right 的高度为其同级元素的 100%。

它没有父元素,只有兄弟元素。

用 CSS 可以实现这个功能吗?或者我必须使用javascript?

我有这个结构:jsFiddle 在此输入图像描述

.column {
  display: block;
  min-height: 50px;
  background-color: #ccc;  
  text-align: center;
  float: left;
}

.decktop-12 {
  width: 100%;
}

.decktop-8 {
  width: 66%;
}

.decktop-4 {
  width: 33%;
}

.cnt {
  background-color: #995595;
}

.cnt-right {
  background-color: #559959;
}
Run Code Online (Sandbox Code Playgroud)
<div class="mobile-12 decktop-12 cnt-top column">
  Content top
</div>
<div class="mobile-12 decktop-8 cnt column">
  Content - main
  <br /> <br />
  Content - main
  <br /> <br />
  Content - main
  <br /> <br />
  Content - main
  <br /> <br />
  Content - main
</div>
<div class="mobile-12 decktop-4 cnt-right column">
  Content - right
</div>
<div class="mobile-12 decktop-12 cnt-bottom column">
  Content bottom
</div>
Run Code Online (Sandbox Code Playgroud)

ReS*_*ano 5

您可以仅使用 CSS 创建网格布局,不需要 JavaScript:https://css-tricks.com/snippets/css/complete-guide-grid/

这是您可以执行的操作的示例:

.grid{
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-areas: 
    "header header"
    "content right"
    "footer footer"
}

.header {
  grid-area: header;
  
}
.content {
  grid-area: content;
  background-color: #995595;
}
.right {
  grid-area: right;
  background-color: #559959;
}
.footer {
  grid-area: footer;
}

.header, .footer{
  min-height: 50px;
  background-color: #ccc; 
}

.grid > * {
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<div class="grid">
	<div class="header">
	  Content top
	</div>
	<div class="content">
	  Content - main
	  <br /> <br />
	  Content - main
	  <br /> <br />
	  Content - main
	  <br /> <br />
	  Content - main
	  <br /> <br />
	  Content - main
	</div>
	<div class="right">
	  Content - right
	</div>
	<div class="footer">
	  Content bottom
	</div>
</div>
Run Code Online (Sandbox Code Playgroud)