уровень були внутри коробки переполнен - PullRequest
0 голосов
/ 12 мая 2019

У меня проблемы с попыткой создать адаптивную сетку из 3 блоков с некоторым выровненным содержимым внутри, используя библиотеку Bulma. Я хотел бы заставить его работать, сохраняя уровень внутри коробки, если это возможно.

Любая помощь будет оценена.

Это результат, который я ожидаю:

enter image description here

Но при уменьшении ширины он ломается:

enter image description here

Это код, который я использую:

<div className="columns sub">
          {this.props.options.map(option => (
            <div className="column is-one-third" key={option.id}>
              <div
                name={option.id}
                className={
                  `box ` +
                  (this.props.optionToBeChosen === option.id
                    ? "box-is-active"
                    : "")
                }
                onClick={() => this.props.onClick(option.id)}
              >
                <div className="level is-mobile">
                  <div className="level-item level-left">
                    <div>
                      <p className="box-text-title">{option.title}</p>
                      <p className="box-text-small">{option.description}</p>
                      <p className="box-text-small">{option.description2}</p>
                    </div>
                  </div>

                  <div className="level-item level-right has-text-right">
                    <div>
                      <p className="box-text-demo">{option.cta}</p>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          ))}
        </div>

1 Ответ

1 голос
/ 13 мая 2019

Уровням Булмы явно сказано, чтобы они не сжимались

.level-left, .level-right {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
}

Вам придется изменить это, чтобы уровни не выходили из элементов .box.

Вместо того, чтобы переопределять ВСЕ элементы уровня, я предлагаю вам добавить пользовательский класс к тем уровням, которые вы хотите иметь возможность уменьшать.

Что-то вроде

<div class="level is-mobile level-is-shrinkable">
   Level items here...
</div>

<style>
    .level-is-shrinkable .level-left,
    .level-is-shrinkable .level-right {
        flex-shrink: 1;
    }
</style>
...