1. z-index не должен быть отрицательным - именно из-за этого ссылки не работают. В принципе, z-index для подвала вообще не нужен, но если делаешь, то только положительным.
2. Нужно не position: absolute, а position: fixed. Тогда подвал всегда будет прижиматься к низу экрана.
В общем, что-то вроде:
html, body {
height: 100%;
margin: 0px;
padding: 0px;
}
.content { /* основное содержимое сайта */
margin-bottom: 120px; /* высота подвала */
}
.content:after { /* не обязательно - только чтобы дополнительные div'ы с clear: both не вставлять */
content: "";
height: 0px;
display: block;
margin: 0px;
padding: 0px;
clear: both;
}
.footer { /* собственно подвал, расположенный сразу за .content */
position: fixed;
left: 0px;
bottom: 0px;
height: 120px;
}
Если же ты хочешь, чтобы контент наползал на подвал, то вот
такой вариант. Там главное - чтобы подвал в тексте стоял выше контента и чтобы у контента было position: relative. Никаких z-index'ов...
И, разумеется, у наползающего контента снизу должен быть margin, а не padding.