У меня есть 3 <span>
элемента внутри div, которые должны явно выстраиваться в соответствии с их порядком. Два последних пункта должны быть справа. Поэтому я сделал float: right
но они смешиваются в порядке. "Прямой" должен быть справа.
HTML
<div class="caseTitle">
<span class="caseNumber">Case</span>
<span class="caseBack">Back</span>
<span class="caseForward">Forward</span>
</div>
CSS
.caseTitle {
background: #333;
color: #fff;
padding: 6px;
}
.caseNumber{}
.caseBack{
float: right;
}
.caseForward{
float: right;
}
Вот моя скрипка. http://jsfiddle.net/JGallardo/8wXNM/
Вы можете обернуть правильные плавающие элементы в div и right, поплавте div, а не каждое слово:
HTML
<div class="caseTitle">
<span class="caseNumber">Case</span>
<div class="wrap">
<span class="caseBack">Back</span>
<span class="caseForward">Forward</span>
</div>
</div>
CSS
.caseTitle {
background: #333;
color: #fff;
padding: 6px;
}
.wrap{
float: right;
}
скрипка: http://jsfiddle.net/8wXNM/1/
Быстрый и грязный способ исправить это - переместить передний div над Back div. В принципе, CSS плавает первый div, который он видит полностью вправо, а затем следующий div, насколько это возможно. Итак, если вы переместите передний div вперед, он будет всплывать перед Back div, который затем будет перемещаться, насколько это возможно.
<div class="caseTitle">
<span class="caseNumber">Case</span>
<span class="caseForward">Forward</span>
<span class="caseBack">Back</span>
</div>
Вместо:
<div class="caseTitle">
<span class="caseNumber">Case</span>
<span class="caseBack">Back</span>
<span class="caseForward">Forward</span>
</div>