Как выровнять этот диапазон справа от div?

У меня есть следующий HTML:

<div class="title">
    <span>Cumulative performance</span>
    <span>20/02/2011</span>
</div>

с этим CSS:

.title
{
    display: block;
    border-top: 4px solid #a7a59b;
    background-color: #f6e9d9;
    height: 22px;
    line-height: 22px;
    padding: 4px 6px;
    font-size: 14px;
    color: #000;
    margin-bottom: 13px;
    clear:both;
}

Если вы проверите этот jsFiddle: http://jsfiddle.net/8JwhZ/

вы можете видеть, что имя и дата склеены. Есть ли способ, чтобы я мог установить дату для выравнивания вправо? Я пробовал float: right; на второй <span>, но он закручивает стиль и выталкивает дату вне включенного div

Ответ 1

Если вы можете изменить HTML: http://jsfiddle.net/8JwhZ/3/

<div class="title">
  <span class="name">Cumulative performance</span>
  <span class="date">20/02/2011</span>
</div>

.title .date { float:right }
.title .name { float:left }

Ответ 2

Работа с поплавками немного беспорядочна. Это, как и многие другие "тривиальные" макеты, можно сделать с помощью flexbox.

   div.container {
     display: flex;
     justify-content: space-between;
   }

В 2017 году я думаю, что это предпочтительное решение (over float), если вам не нужно поддерживать устаревшие браузеры: https://caniuse.com/#feat=flexbox

Посмотрите, как разные поплавки используются по сравнению с flexbox ( "могут включать в себя некоторые конкурирующие ответы" ): https://jsfiddle.net/b244s19k/25/. Если вам все еще нужно придерживаться поплавка, я, конечно же, рекомендовал третья версия.

Ответ 3

Альтернативным решением для поплавков является использование абсолютного позиционирования:

.title {
  position: relative;
}

.title span:last-child {
  position: absolute;
  right: 6px;   /* must be equal to parent right padding */
}

См. также скрипку.

Ответ 4

Вы можете сделать это без изменения html. http://jsfiddle.net/8JwhZ/1085/

<div class="title">
<span>Cumulative performance</span>
<span>20/02/2011</span>
</div>

.title span:nth-of-type(1) { float:right }
.title span:nth-of-type(2) { float:left }