7 days of unlimited WordPress themes, plugins & graphics - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Web Design
  2. CSS Grid Layout

Как использовать нечетный размер трека на вашей CSS-сетке

Read Time: 2 mins
This post is part of a series called Understanding the CSS Grid Layout Module.
Quick Tip: Name Your CSS Grid Lines, Just in Case
The Quirks of CSS Grid and Absolute Positioning

Russian (Pусский) translation by Svetlana (you can also view the original English article)

До сих пор наши учебные пособия по CSS были в основном сосредоточены на явных значениях - размерах треков, которые мы явно определили. Мы использовали строки размером 200px или, возможно, столбцы шириной 1fr, и мы четко указали, сколько из них мы хотим. Но что, если мы не знаем (или не хотим брать на себя обязательства), сколько треков мы хотим? Вот где неявные ценности вступают в игру - давайте посмотрим.

Стартовая сетка

Вот базовая сетка, которую вы можете использовать, чтобы следовать за ней. Он дает нам контейнер сетки с 9 элементами сетки. Ширины или количества столбцов еще не определены, поэтому каждый элемент заполняет максимальную ширину:

Определение только одной колонки

Представим себе, что нам нужен один столбец слева, и мы точно знаем, насколько мы это хотим: 300 пикселей. Мы можем определить, добавляя столбцы grid-template: 300px; к нашему контейнеру сетки. Но нам не дадут никаких других столбцов, если мы не будем их явно определять:

То есть, если мы явно не говорим, что мы хотим, чтобы один из элементов сетки был помещен в (например) столбец 3 в строке 1:

Это дает дополнительные столбцы вне нашей определенной сетки, потому что CSS Grid будет использовать доступное пространство и алгоритм автоматического размещения, чтобы выяснить, где все остальное.

Это замечательно, и Grid сделает предположения, даже если мы хотим иметь больше столбцов, без необходимости определять их. Но что, если мы хотим, чтобы эти подразумеваемые треки, как многие бывают, имели определенную ширину? Именно здесь вступают в действие сетка-авто-столбцы.

Скажите «Привет» сетке-авто-столбцам

Если мы хотим, чтобы все столбцы, кроме первого, были шириной в 100 пикселей, мы могли бы косвенно заявить, что:

Сопряженный с нашим явным значением, мы получаем лучшее из обоих миров. Здесь мы говорим, что мы хотим, чтобы первый столбец был 1fr (что он занимает одну долю от того, какое пространство осталось - авто будет иметь такой же эффект здесь) и что любые другие столбцы после этого должны быть точно равны 100px:

Это дает нам следующее:

И если мы укажем, что элемент 3 действительно должен быть помещен в столбец 5, в строке 1, Grid знает, как широко использовать любые дополнительные столбцы, потому что это подразумевается.

Здесь мы не ограничиваемся значениями пикселей; мы могли бы использовать единицы дробей, единицы em, даже ноту minmax (), о которой мы говорили в предыдущих уроках.

Не забывать сетку-авто-строки

Само собой разумеется, что grid-auto-rows будет делать то же самое для строк, что и для столбцов grid-auto-columns. Вот пример, где все строки, кроме первых двух, фиксируются на высоте 200 пикселей.

Вывод

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

Прочитайте больше

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Web Design tutorials. Never miss out on learning about the next big thing.
Advertisement
Scroll to top
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.