Два дива сидят друг под другом? Вы имеете в виду, что они сложены вертикально друг на друга? Margin-top будет делать это до тех пор, пока у вас нет отступа для родительского div.
Попробуйте этот пример.
<html>
<head>
<style>
div.parent {
background-color: #AAA;
}
div.child {
background-color: #CCC;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="parent">
<div class="child"> </div>
<div class="child"> </div>
</div>
</body>
</html>
Вы заметите, что если внутри родительского элемента нет ничего выше первого дочернего элемента, его поля не будут расширять родительский элемент div.
Если они рядом и плавают, это другая история, margin-left не работает так же, как margin-top. Возможно, вы сможете использовать margin-right в обоих div, но зафиксируйте ширину родительского элемента и установите overflow равным скрытому, чтобы обрезать расширенное поле, но я не уверен в совместимости с такими вещами.
Вы абсолютно уверены, что у вас нет возможности различить два div? Если вы найдете способ обойти это ограничение, то вам многое помогут.