Прежде всего, пара исправлений: # 0 нужно назвать как-нибудь еще, потому что идентификаторы не могут начинаться с цифры.Вы также пропускаете: в свойстве float для #a.Не уверен, что с 'x' и 'y' для высоты / ширины, либо - я предполагаю, что это только примеры?
Фиксированные и абсолютные элементы находятся вне потока документов.То есть они не занимают места так далеко, как элементы с нормальным расположением.
Следовательно, фиксированный элемент будет иметь относительный элемент над ним в вашем примере, как вы обнаружили, поскольку они могут занимать одно и то же пространство xy.,Если вы имели абсолютное значение, top: 0;left: 0, то же самое произойдет.
Далее, у вас был один как float (почти), поэтому давайте рассмотрим, что float изменяет все это позиционирование.Поплавки «особенные» в том, как они расположены.Они находятся в потоке, но будут как можно выше и в направлении движения.Если они слишком широки, чтобы поместиться рядом с другим плавающим содержимым в этой строке, они переходят к следующей строке.
Вы можете сделать
<style>
#a
{
float:left;
height:100px;
width:150px;
background-color:black;
}
#b
{
clear:left;
height:100px;
width:150px;
background-color:green;
}
</style>
<div id='a'>aaaaa aaa</div>
<div id='b'>bbb bbb</div>
«Очистить» означает, что элемент появитсяпод предыдущими элементами, которые плавают.#b будет на следующей строке, под #a.Вы также можете сделать так, чтобы #a имел большое поле справа или был достаточно широким, чтобы заполнить любой контейнер и не оставлять места для #b, чтобы #b располагался ниже #a, а не рядом с ним.