Как заставить "text-overflow: ellipsis" работать с плавающими div?

У меня есть две кнопки, плавающие на противоположных сторонах экрана, и я бы хотел, чтобы они красиво развалились, если экран сжимается. Визуально это то, что я хочу:

________________________________________________________________
|                                                               |
|   |LongTextButtonName|                 |LongTextButtonName|   | When the screen
|_______________________________________________________________| is large

_______________________________________
|                                      |
|   |LongTextBu...|  |LongTextBu...|   | When the screen is small
|______________________________________|

К сожалению, сейчас я получаю следующее:

________________________________________
|                                       |
|   |LongTextButtonName|                |
|                |LongTextButtonName|   | 
|_______________________________________|

Я хотел бы использовать только CSS-решение.

Здесь мои текущие html и css (и здесь fiddle):

<div class="button-container">
  <div class="left-button"><a>LongTextButtonName</a></div>
  <div class="right-button"><a>LongTextButtonName</a></div>
</div>

.button-container {
  min-width:320px;
}
.button-container > div {
  border: 1px solid gray;
  background-color: orange;
  min-width: 160px;
  padding: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.left-button {
  float: left;
}
.right-button {
  float: right;
}

Ответ 1

Ниже приведена скрипка, основанная на следующем:

  • контейнер требует ширины, чтобы вызвать переполнение и многоточие.
  • чтобы ящики постоянно сжимались, я использовал процентную ширину.
  • для учета заполнения я использовал CSS3 box-sizing:border-box;

Обратите внимание, что из-за box-sizing:border-box; это решение не будет работать в старых браузерах.

.button-container {
  min-width:320px;
}
.button-container > div {
  border: 1px solid gray;
  background-color: orange;
  max-width: 50%;
  padding: 8px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing:border-box;
  text-overflow: ellipsis;
}
.left-button {
  float: left;
}
.right-button {
  float: right;
}

http://jsfiddle.net/UfxgZ/1/