响应式垂直中心,隐藏溢出

时间:2013-11-22 09:55:36

标签: html css responsive-design overflow vertical-alignment

在搜索Stack Overflow和Google之后,我仍然想知道如何垂直居中一个比它的父元素更大的图像。我没有使用高度,只使用max-height,因为我想制作一个没有jQuery的响应式解决方案。如果可能的话。

以下是一些代码:

<div style="max-height: 425px; overflow: hidden;">
    <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg">
</div>

5 个答案:

答案 0 :(得分:50)

垂直居中一个更大的图像你可以使用构造和css吼叫

<div class="img-wrapper">
    <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg">
</div>

和css:

.img-wrapper{
    position: relative;
    overflow:hidden;
    height:425px;
}

.img-wrapper img{
    position: absolute;
    top:-100%; left:0; right: 0; bottom:-100%;
    margin: auto;
}

FIDDLE

答案 1 :(得分:4)

我找到了一种方法,只需在容器上设置max-height(而不是固定高度)。

坏消息是它需要一个额外的包装元素。

<强> HTML:

<div class="img-wrapper">
    <div class="img-container">
        <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg">
    </div>
</div>

<强> CSS:

.img-wrapper {
    overflow: hidden;
    max-height: 425px;
}

.img-container {
    max-height: inherit;
    transform: translateY(50%);
}

.img-wrapper img {
    display: block;
    transform: translateY(-50%);
}

答案 2 :(得分:0)

尝试

<html>
<head>
</head>
<body >

    <div style="max-height: 425px;border:1px solid;max-width:500px;overflow:hidden">
        <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg" style='position: relative;top: -231px;left: -500px;'>
    </div>
</body>
</html>

答案 3 :(得分:0)

如果您不需要使用img代码(fiddle):

CSS

.imageContainer {
    margin: 0; 
    height: 200px; /* change it to your value*/
    width: 200px; /* or use fixed width*/
    background: transparent url('') no-repeat center;
    overflow: hidden; 
}

HTML

<div class="imageContainer" style="background-image: url('http://deepwish.com/site/wp-content/uploads/2013/10/butterfly2_large.jpg');"></div>

答案 4 :(得分:-1)

如果您想制作自适应图片,请尝试使用
<div style="">
<img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg" width="100%" height="100%">
</div>