Плавающий элемент выводит его из потока документов. Это означает, что он не будет влиять на размеры родительского элемента, и абсолютно позиционированные элементы по умолчанию имеют размер 0 x 0. Очистка следующего родственного элемента элемента floated будет только расширять ширину родительского контейнера, если у вас действительно есть содержимое в этом элементе, его ширина установлена в его стиле, или один из его других родственных элементов, все еще находящихся в потоке документа, имеет ширину больше, чем начальная ширина родителя.
См. Эту статью в Mozilla Developer Network, хотя это верно для CSS в целом, а не только для Firefox:
float - MDN
Относительно проблемы width: 100%
, если родителем смещения для оболочки является документ, это может быть то, как Firefox реагирует на стиль позиционирования. Вы могли бы облегчить это, поместив абсолютно позиционированный элемент в пустой div
с позицией, установленной в relative
.