Использование отдельного загрузочного контейнера для каждого столбца

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

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

<div class = "container--col-1 container-large--col-2">
   <div class = "row">
     <div class = "col-6">
         COL1 should have the max-width of .container (1320px)
     </div>
     <div class = "col-6">
         COL2 should have the max-width of .container-large (1920px)
     </div>
   </div>
</div>

Как это можно сделать с помощью начальной загрузки 5? Возможно ли это вообще?

Эффект, который я ищу, таков, но объединен в 1 строку:

<link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity = "sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin = "anonymous">

<div class = "container">
  <div class = "row">
    <div class = "col-6">
      <div style = "background-color:blue;">
        COL1
      </div>
    </div>
  </div>
</div>

<div class = "container-large">
  <div class = "col-6 offset-6">
    <div style='background-color:green;'>
      COL2
    </div>
  </div>
</div>

Вы имеете в виду классы container Bootstrap? Я думаю, вы хотите применить классы-контейнеры к своим столбцам (Пример Codepen ). Обратите внимание, что это пример, потому что .row>* объявляет max-width переопределение контейнеров max-width.

Cédric 16.04.2024 15:35

Да, я. Класс контейнера по умолчанию и модифицированный контейнер-большой. Контейнер-большой — это расширение класса контейнера с более широкой максимальной шириной.

Floris 16.04.2024 15:36

Мне не совсем понятна ваша проблема. Пожалуйста, уточните, что означает «максимальная ширина другого контейнера».

isherwood 16.04.2024 18:07
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
3
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

В конце концов я нашел решение этой проблемы.

Я вычисляю разницу между шириной контейнеров, чтобы «заполнить» недостающее пространство, используя эту дерзкую функцию.

// Calculates the left spacing between a large and normal container.
@function large-container-fill-left($breakpoint) {

    $large-container-width: 1920;

    $container-width: map-get($container-max-widths, $breakpoint);
    $container-width-half: calc(#{$container-width} / 2);

    $margin-left: calc(100% - #{$container-width-half});

    @return calc(#{$margin-left} + #{calc($grid-gutter-width / 2)});
}

Затем я использую это вычисленное значение на основе текущей точки останова для класса CSS. Так:

.large-container-fill-left {
    @include media-breakpoint-up(lg) {
        margin-left: large-container-fill-left(lg);
    }

    @include media-breakpoint-up(xl) {
        margin-left: large-container-fill-left(xl);
    }

    @include media-breakpoint-up(xxl) {
        margin-left: large-container-fill-left(xxl);
    }
}

Наконец, добавляем этот класс в левый внутренний контейнер.

<div class = "container container-large" style = "background-color: lightskyblue;">
    <div class = "row">
        <div class = "col-6 px-0">
            <div class = "container">
                <div class = "row">
                    <div class = "col-12">
                        <div class = "fill-large-container" style='background-color:darkblue; height: 300px;'>
                        COL1
                         </div>
                     </div>
                </div>
            </div>
        </div>
        <div class = "col-6">
            <div style='background-color:green; height: 300px;'>
                COL2
            </div>
        </div>
    </div>
</div>

И все готово! Теперь у нас есть левый столбец, действующий как класс-контейнер, и правый столбец, действующий как класс большого контейнера (и выходящий за пределы дизайна).

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