0

enter image description hereНевозможно изменить высоту строки в Bootstrap 4

фона:

  • Бутстрап 4
  • 2 ряда, 4 колонки каждая
  • Каждая ячейка содержит визуализацию с использованием Highcharts

Вопрос:

  • клетки все имеют фиксированную высоту, которая не может быть изменена

Попытки:

  • Инлайн height стиль для строки и отдельные ячейки
  • Внешняя высота для ряда и отдельной клетки

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

<div id="wrap"> 

    <div class="row"> 
     <div id="1" class="col-md-3"> 
      1 
     </div> 
     <div id="2" class="col-md-3"> 
      2 
     </div> 
     <div id="3" class="col-md-3"> 
      3 
     </div> 
     <div id="4" class="col-md-3"> 
      4 
     </div> 
    </div> 
    <div class="row"> 
     <div id="5" class="col-md-3"> 
      5 
     </div> 
     <div id="6" class="col-md-3"> 
      6 
     </div> 
     <div id="7" class="col-md-3"> 
      7 
     </div> 
     <div id="8" class="col-md-3"> 
      8 
     </div> 
    </div> 

</div> 

Мой CSS выглядит следующим образом:

body { 
    width: 100%; 
    margin: 0; 
    padding: 0; 
} 

#wrap { 
    margin:0px; 
    padding:15px; 
} 

.row { 
    height: 300px; 
} 

Элементы отзывчивы по горизонтали и отображается правильно с соответствующими контрольными точками. Стили в строке не влияют. Круговая диаграмма внутри «ячейки» всегда является установленной высотой.

Я думал, что это была диаграмма, переполненная, но установив фиксированную диаграмму в .js для диаграммы, делает диаграмму меньше, но сохраняет div того же размера (элементы ниже сдвинуты вниз).

+0

Highcharts наследует его высоту и ширину от div, который содержит его. У меня нет определенной ширины или высоты. Когда я тестировал высоту (вручную), она меняла размер визуализации, но базовый div не уменьшался. Кроме того, дополнительный тест: если я удалю визуализацию и просто сделаю фоновый цвет и попробую изменить размер div, он не изменит размер. –

+0

Извините, но я не сомневаюсь, что понял. Если вы хотите переполнение диаграммы, вы можете определить такой контейнер: jsfiddle.net/kwvm0ohd/1 – Pepi

+0

В приведенном примере он ведет себя очень похоже на то, что я вижу. Независимо от ширины окна, высота диаграммы не может быть изменена. Я хочу установить высоту диаграммы с максимальным значением 300 пикселей, сохраняя отзывчивость. –

ответ

1

Вы сказали:

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

Это нормально, потому что вы зафиксировали высоту с этими линиями:

.row { 
    height: 300px; 
} 

Если вы хотите, чтобы ваши диаграммы масштабировались как по ширине, так и по высоте, с максимальной высотой 300 пикселей, вы можете сделать так:

  1. Рассчитать соотношение требуемой диаграммы: (высота/ширина) * 100%. Пример: соотношение 75% на графике 400x300px

  2. Добавляют 2-оболочки дивы вокруг диаграммы DIV:

<div class="wrapper"> 
    <div class="wrapper-in"> 
     <div class="chart"></div> 
    </div> 
</div> 

с этими стилями:

.row > div { 
    max-height: 300px; 
} 

.wrapper { 
    position: relative; 
    padding-bottom: 75%; /* your calculated ratio */ 
} 

.wrapper-in { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    max-height: 300px; 
} 

.chart { 
    width: 100%; 
    height: 100%; 
} 

Здесь вы можете увидеть пример: http://jsfiddle.net/kwvm0ohd/3/

Надеюсь, что это поможет.

+0

Учитывая мой код выше, 300px был тестом. Если я установил '.row { height: 100px; } 'он должен работать? По сути, это не влияет на фактический макет. –

+0

Попробуйте заменить '.row {height: 100px; } 'с' .row> div {max-height: 100px; } 'и исправить max-height .wrapper-in до 100px. Если это не сработает, не стесняйтесь показывать свой код (с графиком), il будет легче помочь вам. – Pepi