Bootstrap, как сохранить среднюю строку всегда между строкой заголовка и строкой нижнего колонтитула

Недавно я добавил стили для img на этом дисплее, который у меня есть для max-height:100% and max-width:100%, который казался нормальным только с изображениями, но я понял, что если в моей средней строке (которая может содержать один или 2 столбца рядом) есть несколько изображений или изображение с текст вокруг него, он полностью вырывается из строки при больших разрешениях.

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

Я не знаю, следует ли мне что-то сделать со средней строкой (или div внутри со столбцами для изображений/текста) или что-то другое.

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

Вот скрипт: https://jsfiddle.net/vbuf0gwL/62/

если вы перетащите результат около 1457x781, вы действительно увидите проблему, поэтому на больших дисплеях это так плохо.

Опять же, верхний и нижний ряды всегда должны быть в поле зрения, а средний должен масштабироваться соответственно.

img {
  max-width: 100%;
  max-height: 90vh;
}

html,
body {
  height: 100%;
  overflow: hidden;
}

.modal-lg {
  max-width: 80% !important;
}

.my-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.my-container>.top [class^="col-"],
.my-container>.bottom [class^="col-"] {
  background-color: #929292;
  color: white;
  text-align: center;
}

.my-container>.middle {
  flex-grow: 1;
  padding: 30px;
  background-size: cover;
}

.my-container>.middle>* {}

#clock {
  /*background-color:#333;*/
  font-family: sans-serif;
  font-size: 40px;
  text-shadow: 0px 0px 1px #fff;
  color: #fff;
}

#clock span {
  color: #fff;
  font-size: 40px;
  position: relative;
}

#date {
  margin-top: -10px;
  letter-spacing: 3px;
  font-size: 20px;
  font-family: arial, sans-serif;
  color: #fff;
}

.buttonContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
<html>

<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.css" crossorigin="anonymous">
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/css/gijgo.min.css" rel="stylesheet" type="text/css" />
  <link href="https://rawgit.com/tempusdominus/bootstrap-4/master/build/css/tempusdominus-bootstrap-4.min.css" rel="stylesheet" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <link href="src/ytv.css" type="text/css" rel="stylesheet" />

  <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
  <script src="https://npmcdn.com/[email protected]/dist/js/tether.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.0/moment-with-locales.js"></script>
  <script src="https://rawgit.com/tempusdominus/bootstrap-4/master/build/js/tempusdominus-bootstrap-4.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/js/gijgo.min.js" type="text/javascript"></script>
  <script type='text/javascript' src='//cdn.jsdelivr.net/jquery.marquee/1.4.0/jquery.marquee.min.js'></script>


</head>

<body>
  <div class="container-fluid my-container">
    <div class="row">
      <div class="col-lg-12" style="background-color:black">
        <p style="color:white">
          test
        </p>
      </div>
    </div>

    <div class="row middle" style="flex:1; ">
      <div class="col-lg-6 leftFifty" id="leftFifty">
        <div class="leftContent" style="background-color: white; border: dotted 1px black; ">
          <p>TEST</p>
          <img src="https://via.placeholder.com/1024x942" />
          <!-- This is the div that is clicked in to select an image -->
        </div>
      </div>
      <div class="col-lg-6 rightFifty" id="rightFifty">
        <div class="rightContent" style="background-color: white; border: dotted 1px black; ">
          <p>TEST</p>
          <img src="https://via.placeholder.com/1024x942" />
          <!-- This is the div that is clicked in to select an image -->
        </div>
      </div>
    </div>

    <div class="row ">
      <div class="col-lg-12" style="background-color:black">
        <p style="color:white">
          test
        </p>
      </div>
    </div>
  </div>
</body>

</html>


person Geoff_S    schedule 14.09.2018    source источник


Ответы (1)


Установите верхний и нижний колонтитулы на position: fixed;, а атрибуты top и bottom установите на 0 соответственно.

person Matt    schedule 15.09.2018
comment
Будет ли это уменьшать изображение с текстом в средней строке? Я просто хочу убедиться, что столбцы в средней строке позволяют масштабировать содержимое внутри - person Geoff_S; 15.09.2018
comment
Если вы не применяете стиль к среднему элементу, он должен просто масштабироваться с помощью полосы прокрутки. - person Matt; 15.09.2018
comment
Однако это статическая страница на дисплее, поэтому мне нужно, чтобы средний контент масштабировался в средней строке. Если вы проверите мою скрипку и увеличите разрешение, вы увидите, что изображения выходят за нижний колонтитул, когда они должны уменьшаться, чтобы вместить текст. - person Geoff_S; 15.09.2018
comment
Я не уверен, что вы имеете в виду ... на вашей скрипке средний контент, кажется, масштабируется так, как вы описали, что хотите. - person Matt; 15.09.2018
comment
Нет, он выходит за нижний колонтитул, но мне нужно пространство между серединой и нижним колонтитулом, как между серединой и заголовком. Я хочу, чтобы средняя строка была зафиксирована между двумя, если текст увеличивается. В столбце изображение будет уменьшаться, чтобы вместить его. - person Geoff_S; 15.09.2018
comment
если в нем есть только изображение, все в порядке, но если там есть текст, он растет слишком далеко, потому что изображение составляет максимум 100%. Я надеялся, что смогу сделать так, чтобы чем больше текста, тем больше уменьшалось изображение, чтобы вместить его. - person Geoff_S; 15.09.2018