CSS:垂直居中的裁剪图像,最大高度为200px;

时间:2014-08-22 20:53:39

标签: html css css3

我想裁剪一个具有任何自然尺寸的图像,并将其宽度设为100%,最大高度为200px,仅使用CSS。

阅读similar question here后,我接近它,但图像仍然水平拉伸。

HTML:

<div class="moduleItemIntrotext"> <a class="moduleItemImage" href="/gestao/item/7479-o-que-é-o-zero-working-capital-e-o-que-pode-beneficiar-com-isso.html" title="Continue a ler &quot;O que é o Zero Working Capital? (e o que pode beneficiar com isso)&quot;">
                      <img src="http://www.portal-gestao.com/media/k2/items/cache/x99c309f8b22ccf674ef513c2b1fdd8b5_XL.jpg.pagespeed.ic.Me394YWuwk.jpg" alt="O que é o Zero Working Capital? (e o que pode beneficiar com isso)" width="900" height="900">
          </a>

    <p>O working capital (ou fundo de maneio) é a diferença entre o ativo corrente e passivo corrente. Numa empresa com capacidade para encarar as suas obrigações financeiras de curto-prazo, o ativo corrente supera o passivo corrente. Se essa empresa necessitasse, poderia converter todo o seu ativo corrente em dinheiro e assim liquidar todas as suas dívidas de curto-prazo.</p>
</div>

CSS:

.moduleItemIntrotext {
    overflow: hidden;
    position: relative;
}
.moduleItemIntrotext img {
    position: relative;
    margin: auto;
    max-height: 200px;
    width: 100%;
}

JSFiddle

2 个答案:

答案 0 :(得分:8)

这是另一种可能性,将图像保持在流和HTML中: 的 DEMO

线高+负边距,几乎可以降低放置图像所需的高度。

.moduleItemIntrotext img {
    position: relative;
    margin: -50% auto;/* virtualy height needed turn don to zero */
    width: 100%;/* height will follow within image ratio */
    height:auto;/* to overrride attribute height set in tag */
    vertical-align:middle;/* finalise vertical centering on baseline*/
}
.moduleItemImage {
    display:block;
    height:200px;/*set an height */
    line-height:200px;/* set the baseline at 100px from top*/
    overflow:hidden;/* crops/cut off */
}

答案 1 :(得分:3)

以下是一个解决方案:http://jsfiddle.net/72ppd7qL/

HTML:

<div>
    <a href=""></a>
    <p>
        O working capital (ou fundo de maneio) é a diferença entre o ativo corrente e         
        passivo corrente. Numa empresa com capacidade para encarar as suas obrigações 
        financeiras de curto-prazo, o ativo corrente supera o passivo corrente. Se essa 
        empresa necessitasse, poderia converter todo o seu ativo corrente em dinheiro e 
        assim liquidar todas as suas dívidas de curto-prazo.
    </p>
</div>

CSS:

div > a {
    display: block;
    height: 200px;
    background: url(http://www.portalgestao.com/media/k2/items/cache/x99c309f8b22ccf674ef513c2b1fdd8b5_XL.jpg.pagespeed.ic.Me394YWuwk.jpg)
                no-repeat
                center center/cover;
}