2013-08-14 2 views
0

Это мой jsfiddle.Можно ли плавать: справа; выровнять по высоте?

У меня есть контейнер, использующий класс clearfix. Внутри них есть 3 статьи, первые два плавают слева на 70% ширины, последний плавает с шириной 30%.

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

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

Спасибо!

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

.left { 
    float: left; 
    width: 70%; 
    height: 240px; 
} 
.right { 
    float: right; 
    width: 30%; 
    height: 340px; 
} 
.clearfix:before, 
.clearfix:after, 
.checkboxset:before, 
.checkboxset:after { 
    content: " "; 
    display: table; 
} 
.clearfix:after, 
.checkboxset:after { 
    clear: both; 
} 
+0

Почему бы вам просто не изменить позицию в своем HTML? Я знаю, ты сказал, что не хочешь ... но почему? – putvande

+0

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

ответ

3

Дело о поплавке он удаляет плавал элемент из DOM, поэтому он не знает, где другие элементы больше, чтобы выровнять себя. Вам нужно обернуть его в незавершённый div и затем выровнять его. Элемент wrapping должен быть «overflow: hidden», поэтому он будет содержать весь плавающий элемент.

+1

Хотя я надеялся на что-то другое, вы не можете спорить с фактами. Спасибо, что подтвердили это для меня. – beefchimi

Смежные вопросы