Ответ 1
height:100%
подразумевает, что элемент будет иметь высоту 100% своего родительского контейнера.
height:auto
означает, что элемент будет иметь гибкую высоту, то есть его высота будет зависеть от высоты дочерних элементов из него
Рассмотрим ниже пример:
высота: 100%
<div style="height:50px">
<div id="innerDiv" style="height:100%">
</div>
</div>
#innerDiv
будет иметь height:50px
высота: авто
<div style="height:50px">
<div id="innerDiv" style="height:auto">
<div id="evenInner" style="height:10px">
</div>
</div>
</div>
теперь #innerDiv
будет иметь height:10px