2016-08-01 4 views
2

У меня есть img, который изменяется до высоты нижнего колонтитула (10vh) с помощью max-height: 100%. В инструментах Dev размер каждого элемента кажется ОК, но каким-то образом страница переполнена, и я не могу понять, откуда взялась дополнительная высота пикселей. Вот мой код: Изменение размера изображения до максимальной высоты, но переполнение страницы

* { 
 
    margin: 0 !important; 
 
    padding: 0 !important; 
 
} 
 
body { 
 
    background-color: yellow; 
 
} 
 
.header { 
 
    height: 10vh; 
 
    background-color: red; 
 
} 
 
.content { 
 
    height: 80vh; 
 
    background-color: green; 
 
} 
 
.footer { 
 
    height: 10vh; 
 
    background-color: blue; 
 
} 
 
img { 
 
    max-height: 100%; 
 
    max-width: 100%; 
 
}
<div class="header"> 
 

 
</div> 
 
<div class="content"> 
 

 
</div> 
 
<div class="footer"> 
 
    <img src="https://pixabay.com/static/uploads/photo/2016/01/19/18/00/city-1150026_960_720.jpg" alt="" /> 
 
</div>

Почему это происходит и как я могу избежать этого?

ОБНОВЛЕНИЕ: Я не знал, что по умолчанию это display: inline из <img>. Теперь, когда я знаю, гораздо легче найти другие ответы на мой вопрос (я просто не знал, что искать). Для тех, кто может быть поиск по этому вопросу и найти свой вопрос здесь полный ответ: https://stackoverflow.com/a/31445364/6453726

РЕШЕНИЕ: Добавить vertical-align: top в <img>.

+2

Потому что ваше изображение является встроенным элементом, [читать] (http://stackoverflow.com/questions/5804256/image-inside-div-has-extra- space-under-the-image) – slashsharp

+0

Спасибо. Я не понял, что происходит, если я просто добавил отображение: block to img. – guizo

ответ

0

Добавить display:block; в свой img селектор

img { 
    max-height: 100%; 
    max-width: 100%; 
    display: block; 
} 
Смежные вопросы