【发布时间】:2011-04-26 04:54:04
【问题描述】:
我有两个 div,我想控制它们的相对高度。这些 div 的要点是,当用户将鼠标悬停在其中一个上时,它会垂直扩展,而另一个会垂直缩回(通过 CSS 过渡平滑)。基本标记:
<div class="product">
<h2>Product Name</h2>
<div class="preview" style="background:url('/images/preview.png'); "></div>
<div class="detail" style="background:url('/images/design.png'); "></div>
<div class="product_info">
<span class="quantity">7 Available</span>
<span class="price">$19</span>
</div>
</div>
这是使用从数据库中提取的唯一图像和其他数据多次生成的,因此这些图像只是占位符,但这不是问题。
这是精简后的 CSS:
div.product {
margin: 4px;
padding: 4px;
display: inline-block;
width: 221px;
height: 319px;
box-shadow: 0 0 5px #ccc;
-moz-box-shadow: 0 0 5px #ccc;
-webkit-box-shadow: 0 0 5px #ccc;
}
div.product div.preview, div.product div.detail {
height: 127px;
width: 205px;
margin: auto;
margin-bottom: 2px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
box-shadow: 0 0 5px #ccc;
-moz-box-shadow: 0 0 5px #ccc;
-webkit-box-shadow: 0 0 5px #ccc;
-moz-transition: 0.25s linear;
-o-transition: 0.25s linear;
-webkit-transition: 0.25s linear;
}
div.product div.detail:hover, div.product div.preview:hover {
height: 254px;
}
div.product h2 {
width: 100%;
text-align: center;
margin-bottom: 4px;
}
div.product span.price {
color: #B32B2B;
font-weight: bold;
font-size: 14px;
text-align: right;
float: right;
}
div.product span.quantity {
text-align: left;
float: left;
}
现在,我们的想法是,当您将鼠标悬停在任一图像上时,它会展开以填充另一张图像的空间,然后相应地缩小。使用此标记在 CSS 中无法做到这一点,而我尝试过的任何东西都无法做到。
我需要在这些 div 中的每一个上为 onmouseover 和 previousSibling 使用 JavaScript 来修改 CSS 高度。问题是,事情只是不想为我工作。谁有解决办法?
【问题讨论】:
标签: javascript css image html height