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, то получается какая-то ерунда.

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

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

Спасибо.
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
@KononovD
Мне кажется, гриды в этом примере - просто лишняя головная боль)
я придумал как на флексах сделать с одним нюансом: инпуты будут позиционироваться абсолютно

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

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

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

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

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

Похожие вопросы