CSS Clearing Floats

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

Насколько я понимаю, плавающие объекты никогда не создавались для создания макетов, но поскольку многим макетам нужен нижний колонтитул, они часто используются именно так. Чтобы очистить поплавки, вы можете добавить пустой div, очищающий обе стороны (div class = "clear"). Это просто и работает в разных браузерах, но добавляет "несемантичность" html вместо того, чтобы решать проблему представления в CSS.

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

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

6
задан Frank 15 January 2011 в 17:27
поделиться