Как задать пропорциональное уменьшение такому блоку?

Ссылка скопирована
18 февраля 2026 1 ответ

Как задать пропорциональное уменьшение такому блоку?

может у кого то есть пример верстки такого блока?
html

<section class="rooms">         <div class="container">           <p class="rooms__subtitle">Our Room</p>           <h2 class="rooms__title title">             A World of <span class="orange-text">Choice</span>           </h2>           <p class="rooms__subtext subtext">             Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet             sint. Velit officia consequat.           </p>            <div class="rooms__box">             <div class="rooms__card rooms__card--one">               <img class="rooms__card-img" src="images/room-1.jpg" alt="" />               <p class="rooms__card-guests">3 GUESTS</p>               <p class="rooms__card-text">Room with View</p>             </div>             <div class="rooms__card rooms__card--two">               <img class="rooms__card-img" src="images/room-3.jpg" alt="" />               <p class="rooms__card-guests">1 GUESTS</p>               <p class="rooms__card-text">Luxury Room</p>             </div>             <div class="rooms__card rooms__card--three">               <img class="rooms__card-img" src="images/room-4.jpg" alt="" />               <p class="rooms__card-guests">6 GUESTS</p>               <p class="rooms__card-text">Appartment</p>             </div>             <div class="rooms__card rooms__card--four">               <img class="rooms__card-img" src="images/room-2.jpg" alt="" />               <p class="rooms__card-guests">5 GUESTS</p>               <p class="rooms__card-text">Small Room</p>             </div>             <div class="rooms__card rooms__card--five">               <img class="rooms__card-img" src="images/room-5.jpg" alt="" />               <p class="rooms__card-guests">4 GUESTS</p>               <p class="rooms__card-text">Medium Room</p>             </div>           </div>         </div>       </section>

<section class="rooms"> <div class="container"> <p class="rooms__subtitle">Our Room</p> <h2 class="rooms__title title"> A World of <span class="orange-text">Choice</span> </h2> <p class="rooms__subtext subtext"> Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat. </p> <div class="rooms__box"> <div class="rooms__card rooms__card--one"> <img class="rooms__card-img" src="images/room-1.jpg" alt="" /> <p class="rooms__card-guests">3 GUESTS</p> <p class="rooms__card-text">Room with View</p> </div> <div class="rooms__card rooms__card--two"> <img class="rooms__card-img" src="images/room-3.jpg" alt="" /> <p class="rooms__card-guests">1 GUESTS</p> <p class="rooms__card-text">Luxury Room</p> </div> <div class="rooms__card rooms__card--three"> <img class="rooms__card-img" src="images/room-4.jpg" alt="" /> <p class="rooms__card-guests">6 GUESTS</p> <p class="rooms__card-text">Appartment</p> </div> <div class="rooms__card rooms__card--four"> <img class="rooms__card-img" src="images/room-2.jpg" alt="" /> <p class="rooms__card-guests">5 GUESTS</p> <p class="rooms__card-text">Small Room</p> </div> <div class="rooms__card rooms__card--five"> <img class="rooms__card-img" src="images/room-5.jpg" alt="" /> <p class="rooms__card-guests">4 GUESTS</p> <p class="rooms__card-text">Medium Room</p> </div> </div> </div> </section>

css

.rooms {   margin-bottom: 100px; }  .rooms__subtitle {   margin: 0 auto 16px;   font-size: 24px;   font-weight: 700;   line-height: 31px;   text-align: center; }  .rooms__title {   margin-bottom: 18px; }  .rooms__subtext {   margin-bottom: 45px; }  .rooms__box {   display: grid;   grid-template-columns: 1fr 1.5fr 1fr;   gap: 36px 40px; }  .rooms__card {   max-width: 100%;   max-height: 100%; }  .rooms__card img {   max-width: 100%;   max-height: 100%; }  .rooms__card--two {   grid-column: 2/3;   grid-row: 1/3; }  .rooms__card--five {   grid-column: 3/4; }  .rooms__card-img {   margin-bottom: 18px; }  .rooms__card-guests {   font-size: 14px;   line-height: 18px;   opacity: 0.6;   margin-bottom: 6px; }  .rooms__card-text {   font-size: 22px;   font-weight: 600;   line-height: 29px; }

.rooms { margin-bottom: 100px; } .rooms__subtitle { margin: 0 auto 16px; font-size: 24px; font-weight: 700; line-height: 31px; text-align: center; } .rooms__title { margin-bottom: 18px; } .rooms__subtext { margin-bottom: 45px; } .rooms__box { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: 36px 40px; } .rooms__card { max-width: 100%; max-height: 100%; } .rooms__card img { max-width: 100%; max-height: 100%; } .rooms__card--two { grid-column: 2/3; grid-row: 1/3; } .rooms__card--five { grid-column: 3/4; } .rooms__card-img { margin-bottom: 18px; } .rooms__card-guests { font-size: 14px; line-height: 18px; opacity: 0.6; margin-bottom: 6px; } .rooms__card-text { font-size: 22px; font-weight: 600; line-height: 29px; }

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

Как задать пропорциональное уменьшение такому блоку?

Дополнительно:

Что такое aspect-ratio знаете?вот меняйте эту величину, уберите margin или используйте css переменные и в медиа запросе меняйте эти переменные..
Так же касается размера текста..
В мобиле блоки должны быть друг под другом, то есть столбиком но возможно два блока...

  • Наверно проще использовать в этом случае flexbox
  • Или применять трансформацию родителю в медиа запросе, если хотите сохранить положение блоков на мобилке
  • Проблема в правильном описании высоты картинки. Вот пример. обрати внимание на .rooms__card-img . Я еще немного покрутил гап для того чтобы верстка стала на место, но это уже сам доставишь под свои нужды.

    • Тоже пришел к такому варианту, но происходит налезание картинки на текст.

      Как задать пропорциональное уменьшение такому блоку?

    • Overlord934, первое что приходит в голову - задать для карточки дисплей флекс и картинке поставить flex:1. То есть разметить текст а остальное картинка
    • Kentavr16, помогло, спасибо.
    • Overlord934, Помогло - отметь решением.
    • Overlord934, не могли бы вы объяснить, по какой причине картинка налаживалась на текст и как нам помог flex? Чтоб глубже понять работу флексов. Что сделал понятно, а почему работает не понятно)
    • Overlord934, если ранее мы задавали размер картинки в процентах - она реально становилась размером в родительский блок. При этом не учитывались остальные элементы, отсюда и наложение. Если бы не было флекса и нам нужно было решать этот вопрос, пришлось бы скорее всего проводить вычисления высот в стилях или подключать скрипты. Флекс же по своей природе призван решать такого рода проблемы с адаптивностью, являясь идеальным инструментом для выравнивания строк/колонок. Все его правила на это и ориентированы, собственно. Подробно в доках, пересказывать про оси и базовые линии смысла нет. в данном случае мы сказали флексу - вот два элемента, текст занимает вот столько, остальное оставь под картинку. Просто и эффективно.
    • Kentavr16, Все понял, благодарю за помощь
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Роман IT Ответ

    Для задания пропорционального уменьшения блоку кода с помощью тега

     вам нужно использовать CSS. Вот пример того, как можно задать пропорциональное уменьшение для блока кода на вашем сайте:
     
    1. Создайте класс в вашем CSS файле, который будет задавать стили для блока кода. Например, вы можете назвать этот класс "code-block".
     
    ```html
     
    .code-block {
      font-size: 0.8em; /* Уменьшение размера шрифта */
      line-height: 1.2; /* Уменьшение межстрочного интервала */
      padding: 10px; /* Добавление отступов вокруг блока кода */
      background-color: #f4f4f4; /* Цвет фона блока кода */
      border: 1px solid #ccc; /* Обводка блока кода */
      border-radius: 5px; /* Закругление углов блока кода */
    }
     
    ```
     
    2. Примените этот класс к вашему блоку кода, используя атрибут class.
     
    ```html
    <pre lang="php" class="code-block">

    вам нужно использовать CSS. Вот пример того, как можно задать пропорциональное уменьшение для блока кода на вашем сайте: 1. Создайте класс в вашем CSS файле, который будет задавать стили для блока кода. Например, вы можете назвать этот класс "code-block". ```html .code-block { font-size: 0.8em; /* Уменьшение размера шрифта */ line-height: 1.2; /* Уменьшение межстрочного интервала */ padding: 10px; /* Добавление отступов вокруг блока кода */ background-color: #f4f4f4; /* Цвет фона блока кода */ border: 1px solid #ccc; /* Обводка блока кода */ border-radius: 5px; /* Закругление углов блока кода */ } ``` 2. Примените этот класс к вашему блоку кода, используя атрибут class. ```html <pre lang="php" class="code-block">

    ```

    Этот код позволит вам задать пропорциональное уменьшение для блока кода на вашем сайте. Вы можете настраивать значения свойств в CSS классе "code-block" в зависимости от ваших потребностей.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно