Выровнять элементы по горизонтали бутстрап

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

Выровнять элементы по горизонтали бутстрап

Однако при изменении размера страницы карточки выглядят следующим образом

Выровнять элементы по горизонтали бутстрап

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

Ниже мой код:

   <div className = "d-flex col-sm-6">
      <div className = "" style = {{backgroundColor: 'white', borderRadius: 5, border: '1px solid #EAE8E8'}}>
        <div className = "row">
          <div className = "d-flex col-md-8">
            <div className = "row" style = {{paddingTop: 20, paddingBottom: 20, paddingLeft: 40}}>
              <h4>
                <b>{this.props.restaurant.name}</b>&nbsp;
                {this.props.restaurant.dietaryRestrictions.map(function(dietaryRestriction, index) {
                  return(<div key = {index}><span className = "badge-sm badge-secondary" style = {{color: 'white', backgroundColor: '#DA9550', fontSize: 9}}>{dietaryRestriction}</span>&nbsp;&nbsp;&nbsp;</div>);
                })}
              </h4>
             {this.props.restaurant.description}
              <br /><br />
             <span className = "munchtime pointer"><i className = "fas fa-check"></i> <b>Add to Cart</b></span><br /><br />
                <b><s>${this.props.restaurant.price}</s></b> <span className = "discount"><b>${this.props.restaurant.price * this.props.restaurant.restaurant.discount}</b></span>
              </div>
            </div>
            <div className = "d-flex col-md-4">
                <img src = {this.props.restaurant.images[0]} style = {{width: '100%', height: 250, objectFit: 'cover'}} />
            </div>
        </div>
      </div>
    </div>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
50
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

В вашем коде вы используете Col-MD-8, который будет работать с минимальной шириной 992 пикселей. вы можете заменить мкр на хз, чтобы он работал для всех разрешений.

<div className = "d-flex col-sm-6">
  <div className = "" style = {{backgroundColor: 'white', borderRadius: 5, border: '1px solid #EAE8E8'}}>
    <div className = "row">
      <div className = "d-flex col-xs-8">
        <div className = "row" style = {{paddingTop: 20, paddingBottom: 20, paddingLeft: 40}}>
          <h4>
            <b>{this.props.restaurant.name}</b>&nbsp;
            {this.props.restaurant.dietaryRestrictions.map(function(dietaryRestriction, index) {
              return(<div key = {index}><span className = "badge-sm badge-secondary" style = {{color: 'white', backgroundColor: '#DA9550', fontSize: 9}}>{dietaryRestriction}</span>&nbsp;&nbsp;&nbsp;</div>);
            })}
          </h4>
         {this.props.restaurant.description}
          <br /><br />
         <span className = "munchtime pointer"><i className = "fas fa-check"></i> <b>Add to Cart</b></span><br /><br />
            <b><s>${this.props.restaurant.price}</s></b> <span className = "discount"><b>${this.props.restaurant.price * this.props.restaurant.restaurant.discount}</b></span>
          </div>
        </div>
        <div className = "d-flex col-xs-4">
            <img src = {this.props.restaurant.images[0]} style = {{width: '100%', height: 250, objectFit: 'cover'}} />
        </div>
    </div>
  </div>
</div>

Вам нужно только настроить className "col" так, чтобы оно всегда было 8 и 4 на любой точке останова.

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

просто разделите сетку на 5 на 3 для всех видов (xs, sm, md), так как общая ширина контейнера равна 8.

точки останова медиа-запросов: сетка-медиа-запросы

пример ниже с

<link href = "https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" rel = "stylesheet"/>
     <div class = "d-flex col-md-8">
      <div class = "" style = "background-color: 'white', border-radius: 5, border: '1px solid #EAE8E8'">
        <div class = "row">
          <div class = "d-flex col-xs-5 col-sm-5 col-md-5">
            <div class = "row" style = "padding-top: 20, padding-bottom: 20, padding-left: 40">
              <h4>
                <b> restaurant name</b>&nbsp;
                
                  <div key=1><span class = "badge-sm badge-secondary" style = "color: 'white', background-color: '#DA9550', font-size: 9">dietaryRestriction</span>&nbsp;&nbsp;&nbsp;</div>
               
              </h4>
                 restaurant description
              <br /><br />
             <span class = "munchtime pointer"><i class = "fas fa-check"></i> <b>Add to Cart</b></span><br /><br />
                <b><s>$2000</s></b> <span class = "discount"><b>20%</b></span>
              </div>
            </div>
            <div class = "d-flex col-xs-3 col-sm-3 col-md-3">
                <img src='https://picsum.photos/200/300
' style = "width: '100%', height: 250, objectFit: 'cover'" />
            </div>
        </div>
      </div>
    </div>

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