Изображение с начальной загрузкой, разрыв столбца / div

Я создал своего рода CMS, и у меня возникли проблемы с использованием TinyMCE и Bootstrap.

У меня есть страница, на которой выделен div, и если пользователь нажимает на div, они могут выбирать изображения из модального окна. Изображение вставляется в экземпляр tinymce, и когда пользователь нажимает «сохранить», оно сохраняется в базе данных с помощью html (из tinymce), но также добавляется в div для предварительного просмотра.

Мне нужна помощь в поиске способа убедиться, что независимо от размера изображения, оно остается в столбце начальной загрузки.

Пустой div:

Изображение с начальной загрузкой, разрыв столбца / div и после добавления большого изображения

Изображение с начальной загрузкой, разрыв столбца / div

Есть ли что-то, что я могу использовать в html здесь для начальной загрузки, что гарантирует, что даже если огромное изображение будет помещено в tinyMce, он не сломает div?

<html>

<head>
  <title>Template One</title>

  <style type = "text/css">
    @import "style.css";
    html,
    body {
      height: 100%;
      overflow: hidden;
    }
    
    .modal-lg {
      max-width: 80% !important;
    }
    
    .my-container {
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    
    .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;
    }
  </style>

  <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 middle">
      <div class = "col-lg-6 leftFifty" id = "leftFifty">
        <div class = "leftContent" style = "background-color: white; height: 100%; border: dotted 1px black;">
          <!-- 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; height: 100%; border: dotted 1px black; ">
          <!-- This is the div that is clicked in to select an image -->
        </div>
      </div>
    </div>
  </div>
</body>

</html>

изображения - это теги img или фоновые изображения?

David Leonardo Molina Ruiz Dav 13.09.2018 21:50

У них есть тег изображения, потому что именно так их сохраняет TinyMCE. Но иногда это будет текст, а не изображение, поэтому я не могу явно создать тег изображения, хотя могу сказать что-то вроде «ЕСЛИ img, то ...»

Geoff_S 13.09.2018 21:53
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
534
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На самом деле все, что вам нужно сделать, это установить width: 100%; Высота может быть auto или полностью опущена для сохранения соотношения сторон.

img {
  width: 100%;
  height: auto;
}
<html>

<head>
  <title>Template One</title>

  <style type = "text/css">
    @import "style.css";
    html,
    body {
      height: 100%;
      overflow: hidden;
    }
    
    .modal-lg {
      max-width: 80% !important;
    }
    
    .my-container {
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    
    .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;
    }
  </style>

  <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 middle">
      <div class = "col-lg-6 leftFifty" id = "leftFifty">
        <div class = "leftContent" style = "background-color: white; height: 100%; border: dotted 1px black;">
          <img src = "https://via.placeholder.com/600x250" />
          <!-- 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; height: 100%; border: dotted 1px black; ">
          <!-- This is the div that is clicked in to select an image -->
        </div>
      </div>
    </div>
  </div>
</body>

</html>

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

Geoff_S 13.09.2018 22:02

Таким образом, левое изображение было 1800x824, и оно отлично подходит, правое изображение div, которое я тестировал, было 1024 x 942, и его ширина была ограничена, но нижняя часть вышла за пунктирную линию.

Geoff_S 13.09.2018 22:13

Может ли это быть из-за того, что у меня есть строки выше и ниже этого .row-middle?

Geoff_S 13.09.2018 22:27

В скрипке, если я делаю 1024x942, кажется, подходит

Geoff_S 13.09.2018 22:42

Попробуйте дать изображениям максимальную ширину: 100%; максимальная высота: 100%

TheRobQ 13.09.2018 23:16

@RobQuan Я попробовал max-height, и он работал в скрипке, но, возможно, я обнаружил проблему: изображения, проходящие через TinyMCE, имеют тег абзаца. Когда я помещаю тег <p> вокруг изображения, он прерывается для изображения 1024x942.

Geoff_S 13.09.2018 23:21

@RobQuan проверь эту скрипку. это использует максимальную высоту и имеет тег p вокруг изображения в настоящее время jsfiddle.net/vbuf0gwL/12

Geoff_S 13.09.2018 23:23

Попробуйте эту скрипку: jsfiddle.net/3rwxgf0v Установите автоматическое переполнение родительского тега p

TheRobQ 14.09.2018 17:47

Другие вопросы по теме