Генератор на Flexbox и CSS Grid
Създавайте нагледно оформления с flexbox и CSS grid. Задайте свойствата на контейнера и елементите, именувайте области и копирайте CSS и HTML.
Готови оформления
Щракнете върху елемент в прегледа, за да го изберете и да редактирате свойствата му отдолу.
Как да използвате генератора на flexbox и grid
- Изберете Оформление: Flexbox или Grid, или започнете от някое от Готови оформления (Центрирано, Навигационна лента, Карти с пренасяне, Странична лента, Адаптивна мрежа от карти, Свещеният граал, 12 колони).
- Задайте свойствата на Контейнер. За flexbox:
flex-directionиflex-wrap. За grid:grid-template-columns,grid-template-rows,grid-auto-flow,justify-itemsиgrid-template-areas. И двата режима споделятjustify-content,align-items,align-content,row-gap (px)иcolumn-gap (px). - Управлявайте Елементи с Добави елемент, Премахни избрания елемент и Нулирай избрания елемент. Щракнете върху елемент в прегледа (или стигнете до него с Tab и натиснете Enter), за да го изберете.
- Редактирайте избрания елемент:
orderиalign-selfи в двата режима,flex-grow,flex-shrinkиflex-basisза flexbox, иgrid-area,grid-column,grid-rowиjustify-selfза grid. - Копирайте CSS код и съответния HTML код с бутоните им Копирай.
Всеки контрол е стандартно поле на формуляр, така че цялото игрално поле работи само с клавиатура. CSS кодът съдържа само свойствата, които сте променили спрямо стандартните им стойности, което го държи кратък, а елементите с еднакви настройки споделят едно правило (.item, когато всички съвпадат).
Всичко работи във вашия браузър. Нищо от въведеното не се изпраща към сървър.
Flexbox накратко
Flexbox подрежда елементите по една ос. flex-direction задава главната ос (ред или колона); justify-content разпределя елементите по нея (center, space-between…), а align-items ги позиционира по напречната ос. При flex-wrap: wrap елементите, които не се побират, се пренасят на нов ред, а align-content разпределя тези редове.
Всеки елемент има три свойства за размер, обикновено записвани заедно като flex:
flex-basis: началният размер (autoизползва съдържанието илиwidth);flex-grow: каква част от свободното място заема елементът (0 = никаква, 1 = равен дял);flex-shrink: колко отстъпва, когато мястото не достига (0 = никога не се свива).
Оформлението Странична лента показва класическия модел: странична лента с flex-basis: 200px и flex-shrink: 0 и основна област с flex-grow: 1.
CSS Grid накратко
Grid подрежда елементите в две измерения. grid-template-columns: repeat(3, 1fr) създава три равни колони; fr е дял от свободното място. repeat(auto-fill, minmax(120px, 1fr)) създава колкото колони от поне 120px се побират, което прави адаптивна мрежа от карти без нито една медийна заявка.
Елементите запълват клетките по ред, освен ако не ги поставите: grid-column: span 2 прави елемента широк две колони, а grid-column: 1 / -1 го разпъва през целия ред.
grid-template-areas ви позволява да чертаете оформлението с имена. Въведете по един ред на линия, например header header и после nav main, и задайте на елементите grid-area: header или grid-area: main. Точката означава празна клетка. Всеки ред трябва да има еднакъв брой клетки, а всяко име трябва да образува правоъгълник; иначе инструментът ви предупреждава.
Често задавани въпроси
Flexbox или grid да използвам?
Flexbox за едномерно съдържание като ленти с инструменти, групи бутони или центриране. Grid, когато редовете и колоните трябва да се подравняват, като при оформления на страници и галерии от карти. Те се комбинират добре: мрежа от карти, чието вътрешно съдържание използва flexbox.
Защо align-items не променя нищо?
В ред елементите по подразбиране се разтягат до височината на контейнера, а контейнерът е толкова висок, колкото съдържанието му. Задайте му височина или погледнете прегледа, който има минимална височина.
Какво прави gap?
Задава пространството между елементите (не около тях). Работи и във flexbox, и в grid във всички съвременни браузъри.
Променя ли order реда на четене?
Не. order само премества елементите визуално; екранните четци и навигацията с клавиатура продължават да следват реда в HTML, така че го използвайте пестеливо.
Сродни инструменти
- CSS форматиране и минимизиране Подредете разхвърлян CSS с чисти отстъпи или го минимизирайте с csso и вижте размера преди и след. Работи във вашия браузър, нищо не се качва.
- Генератор на закръглени ъгли (border-radius) Оформете CSS border-radius нагледно с плъзгащи се точки. Задайте всеки ъгъл в px или %, създайте блоб форми и копирайте кода.
- Генератор на сенки (CSS box-shadow) Създайте многослойни CSS сенки с преглед на живо. Задайте отместване, размазване, цвят, непрозрачност и inset, изпробвайте неоморфизъм и копирайте кода.