сделать размер изображения равномерным по размеру - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть ряд с картами и изображениями. Я вижу, что столбцы не одного размера (см. Рисунок). Нужно ли устанавливать ширину и высоту для изображений, которые имеют одинаковый размер?

Буду признателен за вашу помощь!

см. Здесь

Вот мой код:

<div class="row justify-content-md-center">

<div class="col-md-6 col-lg-4">
  <div class="os-animation" data-animation="fadeInLeft">
    <img class="card-img-top" src="/images/Bild_18.JPG" alt="Card image cap">
    <div class="pricing-column text-center">
      <h3>Lorem</h3>
      <p class="ptext">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor</p>
      <div class="pricing-features text-sm-left">
        <h4><span class="item">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
        </h4>
      </div>
      <a class="btn btn-secondary btn-sm" href="/agostar" id="btn_1">mehr Erfahren</a>
    </div>
  </div>
</div>


<div class="col-md-6 col-lg-4">
  <div class="os-animation" data-animation="fadeInUp">
    <img class="card-img-top" src="/images/Bild_10.JPG" alt="Card image cap">
    <div class="pricing-column text-center">

      <h3>Lorem</h3>
      <p class="ptext">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor</p>
      <div class="pricing-features text-sm-left">
        <h4><span class="item">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
        </h4>
      </div>
      <a class="btn btn-secondary btn-sm" href="/agotable" id="btn_1">mehr Erfahren</a>
    </div>
  </div>
</div>

<div class="col-md-6 col-lg-4">
  <div class="os-animation" data-animation="fadeInRight">
    <img class="card-img-top" src="/images/Bild_120.jpg" alt="Card image cap">
    <div class="pricing-column text-center">
      <h3>Lorem</h3>
      <p class="ptext">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor</p>
      <div class="pricing-features text-sm-left">
        <h4><span class="item">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
        </h4>
      </div>
      <a class="btn btn-secondary btn-sm" href="/custom" id="btn_1">mehr Erfahren</a>
    </div>
  </div>
</div>

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Если вы хотите, чтобы все ваши изображения были одинакового размера, вы можете установить их как свойство background-image в div. Поскольку padding-bottom основан на ширине элемента, вы можете использовать его для создания фиксированного соотношения сторон, которое будут учитывать все ваши изображения, как показано в .standardizedImage divs.

Использование background-size: cover обрезает по размеру, как показано ниже, если вы хотите отобразить все изображение целиком, хотя, возможно, за счет пустого пространства сверху или сбоку, используйте background-size: contain

.card {
  display: inline-block;
  border: 1px solid black;
  margin: 10px;
  width: 100px;
}
p {
  padding: 10px;
}
img {
  width: 100%;
}

.standardizedImage {
  padding-bottom: 40%;
  background-size: cover;
  background-position: center center;
  width: 100%;
}
<h3>As images</h3>
<div class="card">
  <img src="https://www.fillmurray.com/300/100" />
  <p>Content goes here.</p>
</div>
<div class="card">
  <img src="https://www.fillmurray.com/300/100" />
  <p>Content goes here.</p>
</div><div class="card">
  <img src="https://www.fillmurray.com/300/120" />
  <p>Content goes here.</p>
</div>

<h3>As background images</h3>
<div class="card">
  <div class="standardizedImage" style="background-image: url(https://www.fillmurray.com/300/100);"></div>
  <p>Content goes here.</p>
</div>

<div class="card">
  <div class="standardizedImage" style="background-image: url(https://www.fillmurray.com/300/100);"></div>
  <p>Content goes here.</p>
</div>

<div class="card">
  <div class="standardizedImage" style="background-image: url(https://www.fillmurray.com/300/120);"></div>
  <p>Content goes here.</p>
</div>
0 голосов
/ 15 апреля 2019

Здравствуйте, у вас есть 3 способа добиться такого дизайна:

  1. Добавить класс <div class="card h-100">, который даст вам 100% высоты.
  2. Используйте Bootstrap столбцы одинаковой высоты Проверьте эту ссылку
  3. Вы можете достичь этого с помощью шаблона, такого как следующий

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Card</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>  

<div class="card-group">
  <div class="card">
    <img class="card-img-top" src="https://www.w3schools.com/w3images/fjords.jpg" alt="Card image cap">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">It's a broader card with text below as a natural lead-in to extra content. This content is a little longer.</p>
    </div>
    <div class="card-footer">
      <small class="text-muted">Last updated 3 mins ago</small>
    </div>
  </div>
  <div class="card">
    <img class="card-img-top" src="https://www.w3schools.com/w3images/fjords.jpg" alt="Card image cap">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
    </div>
    <div class="card-footer">
      <small class="text-muted">Last updated 3 mins ago</small>
    </div>
  </div>
  <div class="card">
    <img class="card-img-top" src="https://www.w3schools.com/w3images/fjords.jpg" alt="Card image cap">
    <div class="card-body">
      <h5 class="card-title">Card title</h5>
      <p class="card-text">It's a broader card with text below as a natural lead-in to extra content. This content is a little longer.This card has even longer content than the first to show that equal height action.</p>
    </div>
    <div class="card-footer">
      <small class="text-muted">Last updated 3 mins ago</small>
    </div>
  </div>
</div>

</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...