Можно с отрицательным margin, но потом можете словить пробелы внизу непонятные. Попробуйте разные способы. Можно translate задать отрицательный, можно top отрицательный, при этом сделать оба блока relative и обоим естественно поставить z-index, а то проблем потом с браузерами нахватаетесь, кто-то отобразит нормально, а кто-то нет (проверено в очень разных условиях).
Если синий блок фиксированной высоты - делаете его внутри черного и через absolute ставите как надо, а у черного делаете большой padding, который будет высотой до самого низа синего.