Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.11.2024, 17:20
Новичок на форуме
Отправить личное сообщение для lad_mat Посмотреть профиль Найти все сообщения от lad_mat
 
Регистрация: 15.11.2024
Сообщений: 3

Нужен совет по верстве CSS Grid
Приветствую, эксперты. Нужен совет по стилям CSS Grid:

Имеется:
Grid-контейнер с 2 колонками и 2 рядами: .container
В левой колонке есть 1 элемент: .left
В правой колонке есть 2 элемента: .right, .right

Получается сетка в виде квадрата 2x2.
Нужно, чтобы элемент .left из левой колонки растягивался по высоте до высоты контейнера. То есть должен быть равен высоте всех элементов из правой колонки: .right + .right.

Сделать это, зная заранее кол-во элементов .right в правой колонке, достаточно просто:

<div class="container">
    <div class="left">left</div>
    <div class="right">right</div>
    <div class="right">right</div>
</div>
.container {
    display: grid;
}

.left {
    grid-column: 1;
    grid-row: 1 / 3;
}

.right {
    grid-column: 2;
}

Но что делать, если точное кол-во элементов .right неизвестно?
Это возможно сделать только средствами grid без изменения разметки и JS?

Последний раз редактировалось lad_mat, 15.11.2024 в 18:41.
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2024, 18:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

grid-row: 1 / span 100500;
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 15.11.2024, 18:47
Новичок на форуме
Отправить личное сообщение для lad_mat Посмотреть профиль Найти все сообщения от lad_mat
 
Регистрация: 15.11.2024
Сообщений: 3

Такой вариант тоже рассматривался, но выглядит он, откровенно говоря, как костыль, ведь мы не знаем конечное кол-во элементов в правой колонке, которое может быть 100500+1. Но если спецификацией не предусмотрено простого решения для такой логики поведения, значит придётся использовать то, что есть. Спасибо за ответ.
Ответить с цитированием
  #4 (permalink)  
Старый 15.11.2024, 19:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от lad_mat
Но что делать, если точное кол-во элементов .right неизвестно?
Начать можно с того, что просто изменить верстку.
Грид с двумя ячейками. А вот во второй ячейке можно делать все, что угодно. Вот первая и будет растягиваться без всяких проблем.
Ответить с цитированием
  #5 (permalink)  
Старый 15.11.2024, 19:50
Новичок на форуме
Отправить личное сообщение для lad_mat Посмотреть профиль Найти все сообщения от lad_mat
 
Регистрация: 15.11.2024
Сообщений: 3

Это один из самых простых вариантов, но в виду отсутствия большого опыта работы с CSS Grid мне было интересно, можно ли это сделать без внесения изменений в разметку и не упускаю ли я что-либо для решения таких задач, лежащее на поверхности.
Ответить с цитированием
  #6 (permalink)  
Старый 16.11.2024, 10:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

lad_mat, простые решения работают лучше всего.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Змейка, подсчёт очков Alena_03 Общие вопросы Javascript 0 04.10.2020 13:21
Нужна помощь!Я нубище, нужен совет! IgorProkonchyk Оффтопик 2 01.10.2017 21:09
Нужен совет по выбору ноутбука для Frontend-разработки PaWell85 Оффтопик 4 20.06.2017 20:40
Мой первый скрипт. Нужен совет! ArtemBielykh Элементы интерфейса 2 20.01.2017 22:26
Drag&Drop не пашет помогите, я нуб, нужен совет bookin Элементы интерфейса 0 16.09.2010 14:00