Выровняйте два элемента div таким образом, чтобы второй элемент получал все необходимое пространство - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть контейнер div, в котором есть два элемента div, выровненные по двум концам (слева и справа). Я выравниваю, используя flex, как показано ниже.

.box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 232px;
  height: 40px;
  margin: 0 auto;
  background-color: lightblue;
}

.name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.number {
  font-size: 14px;
  text-align: right;
  background-color: lightblue;
}

Когда недостаточно места для двух div, чтобы поместиться в заданную ширину, я бы хотел, чтобы div справа занимал все необходимое пространство, в то время как div справа уменьшался (и добавлял многоточие). Тем не менее, в некоторых случаях я все еще вижу содержимое во втором div, идущем к следующей строке. Есть ли способ избежать этого? Обратите внимание, как в примере в jsFiddle 'NUMBER' помещается на следующую строку.

http://jsfiddle.net/kLn9bm7w/

1 Ответ

0 голосов
/ 17 ноября 2018

Также добавьте white-space: nowrap к элементу справа (.number).

.box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 232px;
  height: 40px;
  margin: 0 auto;
  background-color: lightblue;
}

.name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.number {
    white-space: nowrap; /* new */
    font-size: 14px;
    text-align: right;
    background-color: lightblue;
}
<div class="box">
  <div class="name"><a href="#" target="_blank">Somereallylongtextcodssdmeshere</a></div>
  <mark class="number">21.0K NUMBER</mark>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...