Задать вопрос
serii81
@serii81
Я люблю phр...

Можно ли сверстать блок с помощью гридов?

Добрый день.
Есть такой блок с табами
5c9102d3754c9101054036.jpeg
и на другом разрешении
5c9102e40741a213046705.jpeg

Вот код из pug
.redactor__tabs#js-redactor-tabs
							.redactor__tabs-button.redactor__tabs-button--crop(data-tab="tab1")
								svg.redactor__crop-icon.redactor__icon
									use(xlink:href="#crop2")
							.redactor__tabs-content.redactor__tabs-content--crop#tab1
								.redactor__line
								.redactor__circle.redactor__circle--crop
							.redactor__tabs-line.redactor__tabs-line--1

							.redactor__tabs-button.redactor__tabs-button--fill(data-tab="tab2")
								svg.redactor__fill-icon.redactor__icon
									use(xlink:href="#fill")
							.redactor__tabs-content.redactor__tabs-content--fill#tab2
								.redactor__line
								.redactor__circle.redactor__circle--fill
							.redactor__tabs-line.redactor__tabs-line--2

							.redactor__tabs-button.redactor__tabs-button--contrast(data-tab="tab3")
								svg.redactor__contrast-icon.redactor__icon
									use(xlink:href="#contrast")
							.redactor__tabs-content.redactor__tabs-content--contrast#tab3
								.redactor__line
								.redactor__circle.redactor__circle--contrast
							.redactor__tabs-line.redactor__tabs-line--3


До мобильного разрешения сверстал с помощью гридов, чтобы использую свойство grid-template-areas на мобильном сделать табы.

В итоге, табы с иконками получились, а вот контент нет.
5c9103536392d919011834.jpeg

Вот кусок кода на мобильном.
@media screen and (max-width: $md) {
	grid-template-columns: repeat(3, auto);
	grid-template-rows: repeat(2, auto);
	grid-template-areas: "tab-crop tab-fill tab-contrast"
											"tab-content tab-content tab-content"
											;
	}


На мобильном с помощью js скрываю все блоки с контентом и показываю только первый.
Проблема в свойстве grid-template-areas, во-второй строчке.
Что мне тут прописать?
Если пишу только один раз tab-conten, то получается какая-то ерунда.

Как вы думаете, стоит ли с этим возиться, или просто делать два блока, один с табами, который показываем только на мобильном, и второй для планшета и десктопа.

Или дублирования контента это зло?

Спасибо.
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Skillbox
    Веб-вёрстка 3.0
    3 месяца
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
@KononovD
Мне кажется, гриды в этом примере - просто лишняя головная боль)
я придумал как на флексах сделать с одним нюансом: инпуты будут позиционироваться абсолютно

берем делим вашу вот эту штуку на 2 части, слева картинка - справа все остальное
делаем 2 враппера, для ползунков и кнопок.
враппер ползунков - ul, ползунки в li, li тоже флекс, что бы в разные стороны развести инпут и таб-кнопку
врапперу для кнопок делаем маргин топ: авто

с десктопом, собсвенно все)

при адаптиве делаем flex-direction:column у всего блока, у инпутов и у кнопок
все инпуты скрываем, и у нас кнопки-табы выстраиваются в ряд, потом при нажатии на таб показывается нужный инпут с позишн абсолют

https://codepen.io/Kononov_D/pen/zbJxeQ?editors=0110
п.с. с стилями сами поиграйтесь, js так же сами напишите)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
FoodSoul Калининград
от 180 000 до 250 000 ₽