在 bootstrap carousel 内垂直对齐图像

Ovi*_*u G 5 html css twitter-bootstrap

我正在尝试编写我的第一个网站,我必须构建一个轮播。问题是我有一个较小的图像(400x400),我试图将它垂直对齐到旋转木马和右侧的一些文本中。我position: relative;在旋转木马和absolute带有图像的 div上尝试了+

top: 50%;
transform: translateY(-50%);
Run Code Online (Sandbox Code Playgroud)

不起作用。我想是因为它旁边的轮播标题..

这是现在没有我上面提到的对齐的样子

http://i.imgur.com/LqoXWMo.png

这是HTML

<!-- Start Carousel -->
    <div id="product-detail carousel-example-generic" class="carousel slide" data-ride="carousel">
      <!-- Wrapper for slides -->
      <div class="carousel-inner" role="listbox">
        <div class="item active">
          <div class="container">
            <div class="carousel-img"></div>
            <div class="carousel-caption">
              <p class="cat-title">Mercury</p>
            </div>
          </div>
        </div>
        <div class="item">
          <img src="..." alt="...">
          <div class="carousel-caption">
            ...
          </div>
        </div>
        ...
      </div>

      <!-- Controls -->
      <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left control-icon" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
      </a>
      <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right control-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
      </a>
    </div>

<!-- End Carousel -->
Run Code Online (Sandbox Code Playgroud)

我为旋转木马准备的CSS

/*************************
    CAROUSEL
*************************/

.carousel .carousel-inner {
    height: 550px;
    margin-bottom: 100px;
    background: #faf9f9;
}

.carousel-control.right,
.carousel-control.left {
    background-image: none;
}

.control-icon {
    color: #393939;
    text-shadow: none;
}

.carousel-inner {
    position: relative;
}

.carousel-img {
    width: 400px;
    height: 400px;
    background-image: url('../img/jewelery.jpg');
    background-size: cover;
}

.cat-title {
    text-shadow: none;
}
Run Code Online (Sandbox Code Playgroud)

zgo*_*ood 3

试试这个,看看是否有帮助:

首先让你.item相对定位并给它100%的高度,这样它就占据了与容器相同的高度.carousel-inner

.item{
    position: relative;
    height:100%;
}
Run Code Online (Sandbox Code Playgroud)

然后接下来将绝对位置样式添加回您的.carousel-img元素

.carousel-img {
    ...
    position: absolute;   
    top: 50%;
    transform: translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)

请参阅此小提琴的示例。

我还注意到你的旋转木马(550px)和旋转木马-img(400px)上有静态高度,所以你可以添加margin-top:75px;到你的.carousel-img

看看这个小提琴