Является ли тот факт, что родительский коллапс, когда дочерние / дочерние элементы плавают, ошибкой, или это намеренно? - PullRequest
1 голос
/ 04 февраля 2010

является ли тот факт, что родительский коллапс падает, когда дети выдают ошибку? Если так, почему новые браузеры не исправляют это

Это намеренно? по какой веской причине?

Я знаю как минимум 6 решений, чтобы обойти эту проблему, я только спрашиваю, является ли это ошибкой или нет.

Спасибо

Ответы [ 4 ]

4 голосов
/ 04 февраля 2010

от: css-трюки

Каким бы антиинтуитивным ни казался коллапс, альтернатива хуже. Рассмотрим этот сценарий:

Если бы блочный элемент сверху, где он автоматически расширялся, чтобы вместить плавающий элемент, у нас был бы неестественный разрыв промежутка в потоке текста между абзацами, без практического способа его исправить. Если бы это было так, нам, дизайнерам, было бы гораздо сложнее жаловаться на такое поведение, чем на крах.

Свертывание почти всегда необходимо устранять, чтобы предотвратить странные проблемы с макетом и кросс-браузерными проблемами. Мы исправим это, очистив поплавок после всплывающих элементов в контейнере, но до закрытия контейнера.

1 голос
/ 04 февраля 2010

так и должно быть. На полпути к этой статье есть решение, чтобы исправить некоторые потенциальные проблемы, которые у вас есть с ним.

http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/

1 голос
/ 04 февраля 2010

Я считаю, что это функция поплавка. Вы удаляете элемент из его местоположения в потоке и толкаете его влево. «Пространство», которое оно занимает, освобождается. В отличие от абсолютного / относительного позиционирования, где объект все еще занимает место.

Я думаю, что так оно и есть!

1 голос
/ 04 февраля 2010

Когда вы перемещаете элемент, вы убираете его из потока страницы.Из-за этого родитель не будет расширяться, чтобы приспособить ребенка.Да, это преднамеренное (и, я полагаю, определенное) поведение.

Здесь - учебное пособие, в котором говорится о включении поплавков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...