Блок отображения в диапазоне не работает. Как сделать так, чтобы он занимал ту же ширину, что и предыдущий? - PullRequest
0 голосов
/ 01 мая 2020

Я использую эти bootstrap компоненты в angular, чтобы получить некоторые оценки, и я получаю следующий код:

<span class="ng-star-inserted" style="cursor: pointer;">
  <span _ngcontent-oof-c136="" class="star ng-star-inserted">
    <span _ngcontent-oof-c136="" class="half" style="width: 70%;">★</span>★
  </span>
</span>

Первые два span имеют ширину 20 пикселей , но последний 598px. Мне нужно, чтобы последний был точно таким же, как предыдущие, чтобы применить соответствующую ширину% и покрыть звезду до соответствующего процента (см. «Пользовательский десятичный рейтинг», где четвертое сердце покрыто только частично).

Я везде читал, что это делается с display: block, но это не работает. Я скопировал стили из примера:

    .star {
      position: relative;
      display: inline-block;
      font-size: 3rem;
      color: #d3d3d3;
    }
    .full {
      color: red;
    }
    .half {
      position: absolute;
      display: inline-block;
      overflow: hidden;
      color: red;
    }

Эти span находятся внутри других div, а некоторые из них имеют display: flex. Я удалил этот флекс, но у меня все та же проблема.

Как я могу сделать этот последний span таким же широким, как родительский? Может быть, какой-то предыдущий div влияет? Как?

Спасибо

1 Ответ

0 голосов
/ 01 мая 2020

возможно попробую .affectedspan {all:unset;}

...