0

我正在尝试垂直对齐绝对定位的 div 中的文本块,该 div 位于最大宽度为 100% 且高度为 auto 的图像上(用于响应式布局)。如何垂直对齐文本块,使其在整个缩放过程​​中保持垂直对齐?我怀疑我需要使用某种 javascript,但我不确定。任何帮助是极大的赞赏。

http://jsfiddle.net/8Jjs8/

<div id="container">
    <div class="slider">
        <ul class="slides">
            <li class="slide">
                <img src="http://awsassets.panda.org/img/scr_239815_362780.jpg" class="image">
                    <div class="caption">
                        <div class="caption-inside">
                            Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                        </div>
                    </div>
             </li>
        </ul>
    </div>
</div>

#container {
    max-width: 600px;
    max-height: 400px;
    margin: 0 auto;
    position: relative;
}

.slider {
    position: relaitve:
    width: 100%;
}

ul.slides {
    list-style: none;
    margin: 0;
    padding: 0;
}

li.slide {
    position: relative;
    display: block;
}

.image {
    max-width: 100%;
    height: auto;
}

div.caption {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
}

div.caption-inside {
    background: rgba(255,255,255,.5);
}
4

1 回答 1

0

这将使您成为其中的一部分,但高度将成为一个问题。

div.caption {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 30%;
    margin: auto;
}

我知道有一些新的 CSS 特性会让这一切变得更容易,但现在你可能不得不忍受这些限制或转向 js。

于 2013-01-22T23:36:37.917 回答