Как и многие разработчики интерфейсов, которые я встречал в своей карьере, я понимаю HTML, CSS и JavaScript на уровне профессионалов, но более тонкие точки плавающих CSS по-прежнему остаются моей ахиллесовой пятой.Могу ли я достичь этого макета с помощью поплавков CSS?
Мой последний проект имеет простой макет, который выглядит как идеальный кандидат для улучшения моего понимания поплавков. Это достигается тривиальным путем с абсолютным позиционированием, но я бы хотел определить, могут ли поплавки выполнить то же самое.
Вот упрощенный макет требуемого макета:
Я настроил пример JSBin хорошей отправной точкой:
http://jsbin.com/UPUzUWU/1/edit?html,css,output
Я провел около 20 минут играя вокруг, с которыми плавают поля, как они плавают, которые очищаются, как они очищаются и даже упорядочиваются HTML. У меня вроде как близко, но нет сигары.
Может ли кто-нибудь выполнить эту работу, не прибегая к абсолютному позиционированию (при необходимости переупорядочивание HTML в порядке)? Если да, можете ли вы также сделать все возможное, чтобы объяснить принципы, лежащие в его основе?
Спасибо!
Edit:
К сожалению, я должен уточнить - в то время как изменение порядка HTML для коробок это хорошо, я предпочел бы не объединить несколько коробок в общих родительских элементов. Предположим, что семантически все они будут содержать контент на одном уровне иерархии макета (т. Е. Все семантические братья), поэтому в идеале они не будут разделять не семантические родительские элементы, которые существуют только в целях упрощения стилизации ,
Кроме того, этот подход позволяет просто плавать три элемента слева, что является слишком простым решением, чтобы больше освещать, как работают поплавки.
Можно ли изменить html? например: поле 1 и поле 2, завернутые в div? – Ani
Если вы можете изменить HTML для добавления контейнера: http: // jsbin.com/UPUzUWU/6/edit –
Я предполагаю, что все div должны быть в одном родительском элементе? Если бы ни одно решение не состояло в том, чтобы создать 3 столбца, с двумя divs, уложенными в левый и правый столбцы, тогда один div в центре. – jd182