2014-10-03 2 views
1

я следующий HTML:Как настроить чувствительную высоту изображения до 100%?

<article class="post clearfix"> 
    <div class="post-img"> 
     <img src="path/to/img"/> 
    </div> 
    <div class="post-details"> 
     [content] 
    </div> 
</article> 

И следующий CSS:

img { 
    max-width: 100%; 
    height: auto; 
} 
.post-img { 
    float: left; 
    width: 33.33%; 
    margin-right: 1.5em; 
    overflow: hidden; 
} 

Я хочу div.post-Img быть 100% высокими, как его родительской статья, а также для IMG внутри него тоже будет на 100%. (Это нормально, если часть изображения обрезана с левой или с правой стороны.)

Высота статьи неизвестна, поэтому я не могу ее жестко закодировать.

Заранее благодарен!

+2

Почему бы вам просто добавить высоту: 100%? –

+0

Я пробовал ... это не работает. (Предположим, вы имеете в виду, что я добавляю высоту: 100% в .post-img, содержащий div. Есть ли стиль, который мне нужно применить к родительскому (статье), чтобы он работал? –

ответ

0

вы можете использовать этот класс:

.full-height{ 
    height:100vh; /* 100% vertical hieght */ 

}

, например;

<img class="full-height" alt="" src="test.png" /> 

этот лучший способ для отображения изображения полной высоты.

+0

Вы предлагаете 'height: 100%;' или «высота» явно, т. е. изображение составляет 400 пикселей высотой, 'height: 400px;'. – hungerstar

+1

http://caniuse.com/#search=viewport еще не принят, но все же является хорошим решением для будущего веб-разработки. – Phlume

1

Используйте background-image, чтобы установить изображение и background-size: 100% auto в фоновое изображение.

1

Вот вариант, чтобы сделать это http://jsfiddle.net/237u55q1/1/

.post{ 
    display: table; 
    width: 100%; 
    table-layout: fixed; 
    overflow: hidden; 
} 
.post-img { 
    display: table-cell; 
    width: 33.33%; 
    margin-right: 1.5em; 
    overflow: hidden; 
    vertical-align: top; 
    position: relative; 
} 
.post-img img{ 
    width: 100%; 
    height: auto; 
    position: absolute; 
} 
.post-details{ 
    display: table-cell; 
    vertical-align: top; 
    width: 66.66%; 
} 

Добавить или удалить содержимое, чтобы увидеть изображение принятия на высоте :)

+0

Вы также можете масштабируйте изображение так, чтобы оно соответствовало высоте, используя 'width: auto; height: 100%', и если изображение должно быть обрезано, вы можете выбрать, чтобы выставить правую часть изображения с помощью 'right: 0', хороший ответ! –

Смежные вопросы