Просто удалите стиль bottom: 5px;
из стиля .child
.
Он помещает нижнюю часть дочернего элемента div на пять пикселей выше нижней части родительского элемента div, но, как вы уже поместили верхнюю часть элемента div.дочерний div ниже нижней части родительского div это приведет к отрицательной высоте, поэтому браузер просто устанавливает высоту на максимально близкое значение, равное нулю.
Также удалите стиль height: 100%
, так кактолько делает ребенка того же роста, что и патент, чего вы не хотите, так как вы не отображаете ребенка внутри родителя.
http://jsfiddle.net/HnfCU/2/