【发布时间】:2013-04-06 01:49:30
【问题描述】:
我有一个包装 div,其中包含一个右浮动 100% 高度的 div 和一个图像。
图像的宽度设置为 %。当您调整浏览器窗口的大小时,图像高度会随着包装 div 的高度而增加和减少。
当我在包装器 div 上设置固定高度时,右侧浮动 100% 高度 div 的高度会根据我的需要增加。但是,包装器 div 具有动态高度,由图像的当前高度和 100% 高度 div 设置,在这种情况下不会像您期望的那样垂直调整大小。
我想要做的事情可以实现吗?
这是一支笔:http://codepen.io/fraserhart/pen/qiFmb
<div class="wrapper">
<img src="http://i.imgur.com/7v619Ip.jpg" />
<div class="grid">
<section class="row">
<p>Home</p>
</section>
<section class="row">
<p>Looking For Care</p>
</section>
<section class="row">
<p>Working For Us</p>
</section>
<section class="row">
<p>Professionals</p>
</section>
<section class="row">
<p>Who We Are</p>
</section>
<section class="row">
<p>Find a Branch</p>
</section>
</div>
<div class="clear-fix"></div>
</div>
.wrapper{
background:blue;
height:auto;
}
img{
width:60%;
}
.clear-fix{
clear:both;
}
.grid {
display: box;
width:400px;
height:100%;
box-orient: vertical;
background:#ff0000;
float:right;
}
.row {
padding: 20px;
box-flex:1;
background: #ccc;
padding:0px 5px;
border:1px solid #ff0000;
text-align:center;
}
【问题讨论】:
-
当窗口重新调整大小时,浏览器会重新计算图像尺寸。但是,重新计算的图像尺寸无法传递给兄弟元素 (
.grid),因此.grid的高度基于父元素,而不是文档流中立即处理它的元素。您可以使用 JavaScript 或 jQuery 来解决这个问题。你会考虑其他一些加价吗?这是一个常见的 CSS 问题,值得付出一些努力。 -
我试图避免使用 jQuery 出于固执。哈。可能是唯一的方法。
-
您希望 .grid 元素在窗口重新调整大小时表现如何?你能在你的帖子中详细说明吗?
-
您也可以使用CSS
calcfunction,但请记住它在规范中被标记为“有风险”。 -
我只是想让 .grid 根据 .wrapper 的高度扩展到 100% 的高度。 .wrapper 的高度由图片的高度决定
标签: css