Описание в нижнем дизайне не может иметь одинаковую линию, одинаковый элемент высоты - PullRequest
1 голос
/ 21 марта 2020

У меня проблема с css для такой же высоты. У меня есть список дизайнов, и каждый дизайн имеет описание внизу, в моем случае, я уже делаю дизайн в середине портрета и пейзажа, но если описание имеет длинный текст, он не может совпадать с другим. Я хочу, чтобы описание плоской верхней части только с использованием css не javascript, как изображение ниже

введите описание изображения здесь

Я использую bootstrap flex

HTML

<div class="row">
  <div class="col-12 col-md-8 p-4 d-flex flex-column">
    <div class="my-auto">
      <img/>
    </div>
    <div class="description my-3">
    </div>
  </div>
  <div class="col-12 col-md-8 p-4 d-flex flex-column">
    <div class="my-auto">
      <img/>
    </div>
    <div class="description my-3">
    </div>
  </div>
</div>

CSS

.flex-column {
  -webkit-box-orient: vertical!important;
  -ms-flex-direction: column!important;
  flex-direction: column!important;
}
.d-flex {
  display: -webkit-box!important;
  display: -ms-flexbox!important;
  display: flex!important;
}

Пожалуйста, помогите мне решить мою проблему, спасибо за вашу помощь, извините мой английский sh плохо

<!doctype html>
<html lang="en">

<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

  <title>Same height</title>
</head>

<body>

  <div class="container">
    <div class="row">
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/200x400/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
      </div>
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/400x200/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat repellendus, molestias animi deleniti cum</div>
      </div>
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/200x400/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
      </div>
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/200x400/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
      </div>
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/400x200/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
      </div>
      <div class="col-4 p-4 d-flex flex-column border">
        <div class="my-auto">
          <img src="https://via.placeholder.com/200x400/0000FF/808080" class="w-100" alt="">
        </div>
        <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
      </div>
    </div>
  </div>

</body>

</html>

1 Ответ

0 голосов
/ 21 марта 2020

Проверьте этот рабочий пример. Вам просто нужно добавить фиксированную высоту к классу my-auto + vertical-align: middle;, тогда все описания товара останутся в одной строке. Не забудьте добавить max-height: 100% к изображению, чтобы избежать переполнения.

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

.my-auto {
  justify-content: center;
  vertical-align: middle;
  height: 300px;
  display: flex;
  align-items: center;
}
.my-auto img {
  max-height: 100%;
}
<!doctype html>
<html lang="en">
<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

  <title>Same height</title>
</head>
<body>

<div class="container">
  <div class="row">
    <div class="col-4 p-4 border">
      <div class="my-auto w-100">
        <img src="https://via.placeholder.com/200x400/0000FF/808080" class="w-100" alt="">
      </div>
      <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
    </div>
    <div class="col-4 p-4 border">
      <div class="my-auto w-100">
        <img src="https://via.placeholder.com/400x200/0000FF/808080" class="w-100" alt="">
      </div>
      <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat repellendus, molestias animi deleniti cum</div>
    </div>
    <div class="col-4 p-4 border">
      <div class="my-auto w-100">
        <img src="https://via.placeholder.com/200x300/0000FF/808080" class="w-100" alt="">
      </div>
      <div class="my-3">Lorem ipsum dolor sit amet, consectetur adipisicing elit</div>
    </div>
  </div>
</div>

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