JS Fiddle上的代码示例
div 横幅和 ul 具有固定的高度。
li 标签内的元素需要垂直居中对齐。
我需要将“info-wrapper”div 准确地放置在“disp-img-contanier”div 之上。但由于我使用的是 position=absolute 和 top=0 ,所以“info-wrapper” div 向上移动。
有什么方法可以达到预期的结果?
HTML:
<div class="banner">
<ul class="banner-display clearfix">
<li class="first-default">
<div class="disp-img-contanier">
<!--image goes here-->
<img src="http://i303.photobucket.com/albums/nn134/gotitlikethat97/Photography/9973TressDunceCap.jpg" width="292px" height="320px" />
</div>
<div class="info-wrapper">
<div class="info-base">
<h2>Hover Text</h2>
</div>
</div>
</li>
<li class="first-default">
<div class="disp-img-contanier">
<!--image goes here-->
<img src="http://i303.photobucket.com/albums/nn134/gotitlikethat97/Photography/9973TressDunceCap.jpg" width="292px" height="320px" />
</div>
<div class="info-wrapper">
<div class="info-base">
<h2>Hover Text</h2>
</div>
</div>
</li>
<li class="first-default">
<div class="disp-img-contanier">
<!--image goes here-->
<img src="http://i303.photobucket.com/albums/nn134/gotitlikethat97/Photography/9973TressDunceCap.jpg" width="292px" height="320px" />
</div>
<div class="info-wrapper">
<div class="info-base">
<h2>Hover Text</h2>
</div>
</div>
</li>
</ul>
CSS:
.banner {
position: relative;
z-index: 3;
height: 550px;
display: table;
border-collapse: separate;
border-spacing: 10px;
}
.banner .banner-container {
z-index: 3;
height: 550px;
display: table;
border-collapse: separate;
border-spacing: 10px;
width:100%;
}
.banner-display {
width: 920px;
margin: 0 auto;
z-index: 0;
height: 550px;
position: relative;
padding: 0;
display: table-row;
}
.banner-display li {
width: 292px;
display: table-cell;
vertical-align: middle;
padding-top: 5%!important;
height: auto;
position: relative;
overflow: hidden;
}
.disp-img-contanier {
height: 320px;
width: 292px;
vertical-align: middle;
overflow: hidden;
}
.info-wrapper {
display: block;
width: 292px;
height: 320px;
position: absolute;
top: 0;
background: rgba(225, 225, 225, 0.8);
}