Ширина div не изменяется при масштабировании изображения

Я уменьшил img, используя процент ширины, чтобы лучше соответствовать экрану, однако ширина родительских div не масштабировалась, чтобы обернуть img.

HTML

<div class = "game-container">
  <div class = "game-table">
    <img src = "../../assets/img/table-top.png" class = "table-image">
    <div class = "table-cards">
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/blue_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/gray_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/green_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/red_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/purple_back.png">
      </div>
    </div>
  </div>
</div>

CSS

.game-container {
  height: fit-content;
  width: fit-content;
}

.game-table {
  height: fit-content;
  width: fit-content;
}

.table-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 75%;
  transform: translate(-50%, -50%);
}

.table-cards {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: aqua 1px solid;
  display: flex;
}

.card-holder {
  border: blueviolet 3px solid;
  white-space: nowrap;
}

.card {
  width: 35%;
  vertical-align: middle;
  border: red 3px solid;
  display: inline-block;
  white-space:nowrap;
}

РЕЗУЛЬТАТ Изображение для отображения текущего макета

Я бы хотел, чтобы блок держателя карты (фиолетовый) подходил к карте (красный)

ЧТО Я ПЫТАЛСЯ

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

Спасибо!

Попробуйте указать высоту и ширину родительского div как авто

Thanveer Shah 11.01.2019 05:42
Улучшение производительности загрузки с помощью 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
1
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Граница была причиной проблемы. Я удалил границу изображения (.card), и все заработало, как ожидалось. Благодарность

.game-container {
  height: fit-content;
  width: fit-content;
}

.game-table {
  height: fit-content;
  width: fit-content;
}

.table-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 75%;
  transform: translate(-50%, -50%);
}

.table-cards {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: aqua 1px solid;
  display: flex;
}

.card-holder {
  border: blueviolet 3px solid;
  white-space: nowrap;
}

.card {
  width: 35%;
  vertical-align: middle;
  /* border: red 3px solid; */
  display: inline-block;
  white-space:nowrap;
}
<div class = "game-container">
  <div class = "game-table">
    <img src = "../../assets/img/table-top.png" class = "table-image">
    <div class = "table-cards">
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/blue_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/gray_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/green_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/red_back.png">
      </div>
      <div class = "card-holder">
        <img class = "card" src = "../../assets/img/cards/purple_back.png">
      </div>
    </div>
  </div>
</div>

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