Причина, по которой div2 отображается выше div1, заключается в том, что div2 абсолютно позиционирован. Это означает, что div1 не участвует в нормальном потоке документов, как если бы он был извлечен из документа. Итак, div2 отображается вверху, а затем ваше абсолютное позиционирование понижает div1 до 100px.
Снимите абсолютное позиционирование с div1, затем используйте поля или отступы, чтобы переместить его в нужное место. Таким образом, обычный HTML-рендеринг поместит div2 ниже div1.
Если вы вынуждены абсолютно позиционировать div1, то вам также необходимо абсолютно позиционировать div2. Возможно, вам придется использовать javascript, чтобы выяснить высоту div1 и правильно установить вершину div2.
<html>
<body>
<div id="Div1" style="position:absolute; top: 100px;">
<span>My text</span>
</div>
<div id="Div2" style="position:absolute; top: 130px;">
Test
</div>
</body>
</html>