ÐÑÑавнивание блоков в ÑазмеÑке Flexbox
СпеÑиÑикаÑÐ¸Ñ ÐÑÑавнивание Ðлоков подÑобно опиÑÑваеÑ, как вÑÑавнивание ÑабоÑÐ°ÐµÑ Ð¿Ñи иÑполÑзовании ÑазлиÑнÑÑ ÑпоÑобов ÑазмеÑки. Ðа ÑÑой ÑÑÑаниÑе Ð¼Ñ ÑаÑÑмоÑÑим, как ÑабоÑÐ°ÐµÑ Ð²ÑÑавнивание блоков в конÑекÑÑе ÑазмеÑки flexbox. ÐоÑколÑÐºÑ ÑÑа ÑÑÑаниÑа пÑедназнаÑена Ð´Ð»Ñ Ð¿Ð¾Ð´Ñобного опиÑÐ°Ð½Ð¸Ñ Ð²ÐµÑей, оÑноÑÑÑÐ¸Ñ ÑÑ Ðº ÑазмеÑке flexbox и вÑÑÐ°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð², ÐµÑ ÑледÑÐµÑ ÑиÑаÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð¾Ñновной ÑÑÑаниÑей вÑÑÐ°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð², в коÑоÑой подÑобно опиÑÑваÑÑÑÑ Ð¾Ð±Ñие Ñ Ð°ÑакÑеÑиÑÑики вÑÑÐ°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² пÑи иÑполÑзовании ÑазнÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ñ ÑазмеÑки.
ÐÑновной пÑимеÑ
Ð ÑÑом пÑимеÑе ÑÑи ÑлеменÑа flex вÑÑÐ¾Ð²Ð½ÐµÐ½Ñ Ð¿Ð¾ главной оÑи Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑибÑÑа justify-content и по попеÑеÑной оÑи Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑибÑÑа align-items. ÐеÑвÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¿ÐµÑеопÑеделÑÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ align-items, ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ð·Ð½Ð°Ñение аÑÑибÑÑа align-self в center.
ÐÑи и аÑÑибÑÑ flex-direction
РазмеÑка flexbox ÑледÑÐµÑ ÑоглаÑно ÑÐµÐ¶Ð¸Ð¼Ñ ÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÐºÑменÑа (writing mode), поÑÑомÑ, еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе английÑкий ÑзÑк и ÑÑÑанавливаеÑе аÑÑибÑÑ justify-content в знаÑение flex-end, Ñо ÑлеменÑÑ Ð±ÑдÑÑ Ð²ÑÑÐ¾Ð²Ð½ÐµÐ½Ñ Ð¿Ð¾ конÑÑ flex конÑейнеÑа. ÐÑли Ð²Ñ ÑабоÑаеÑе Ñо знаÑением аÑÑибÑÑа flex-direction, ÑÑÑановленнÑм в row, Ñо вÑÑавнивание бÑÐ´ÐµÑ Ð¿ÑоиÑÑ
одиÑÑ Ð² линейном напÑавлении.
Ðднако, ÑабоÑÐ°Ñ Ñ ÑазмеÑкой flexbox, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе измениÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ главной оÑи, ÑÑÑановив знаÑение аÑÑибÑÑа flex-direction в column. Ð ÑÑом ÑлÑÑае, аÑÑибÑÑ justify-content бÑÐ´ÐµÑ Ð²ÑÑавниваÑÑ ÑлеменÑÑ Ð² напÑавлении блока. ÐоÑÑÐ¾Ð¼Ñ Ð¿ÑоÑе вÑего дÑмаÑÑ Ð¾ главной и попеÑеÑной оÑÑÑ
пÑи ÑабоÑе Ñ ÑазмеÑкой Flexbox ÑледÑÑÑим обÑазом:
- ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð¾ÑÑ = напÑавление ÑоглаÑно аÑÑибÑÑÑ
flex-direction= вÑÑавнивание ÑеÑез аÑÑибÑÑjustify-content - ÐопеÑеÑÐ½Ð°Ñ Ð¾ÑÑ = пÑоÑ
Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð¿ÐµÑÑк главной оÑи = вÑÑавнивание ÑеÑез аÑÑибÑÑ
align-content,align-self/align-items
ÐÑÑавнивание по Ðлавной ÐÑи
ÐÑÑавнивание по ÐопеÑеÑной ÐÑи
ÐÑÑÑÑÑÑвие аÑÑибÑÑа justify-self в ÑазмеÑке Flexbox
ÐÑи иÑполÑзовании ÑазмеÑки flexbox, Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ð¾ÑÑ ÑабоÑÐ°ÐµÑ Ñ Ð½Ð°Ñим конÑенÑом как Ñ Ð³ÑÑппой. ÐолиÑеÑÑво меÑÑа, необÑ
одимого Ð´Ð»Ñ ÑазмеÑÐµÐ½Ð¸Ñ ÑлеменÑов, ÑаÑÑÑиÑÑваеÑÑÑ, а оÑÑавÑееÑÑ Ð¿ÑоÑÑÑанÑÑво ÑÑановиÑÑÑ Ð´Ð¾ÑÑÑпнÑм Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ. ÐÑÑибÑÑ justify-content конÑÑолиÑÑÐµÑ Ð¸ÑполÑзование оÑÑавÑегоÑÑ Ð¿ÑоÑÑÑанÑÑва. ÐÑли ÑÑÑановиÑÑ Ð°ÑÑибÑÑ justify-content в знаÑение flex-end, Ñо дополниÑелÑное пÑоÑÑÑанÑÑво заполниÑÑÑ Ð¿ÐµÑед ÑлеменÑами, еÑли ÑÑÑановиÑÑ Ð°ÑÑибÑÑ justify-content в знаÑение space-around, Ñо пÑоÑÑÑанÑÑво заполниÑÑÑ Ñ Ð¾Ð±ÐµÐ¸Ñ
ÑÑоÑон ÑлеменÑа в ÑÑом измеÑении и Ñ. д.
ÐÑо ознаÑаеÑ, ÑÑо аÑÑибÑÑ justify-self Ð½ÐµÑ Ð¸Ð¼ÐµÐµÑ ÑмÑÑла иÑполÑзоваÑÑ Ð² ÑазмеÑке flexbox, поÑколÑÐºÑ Ð¼Ñ Ð²Ñегда имеем дело Ñ Ð¿ÐµÑемеÑением вÑей гÑÑÐ¿Ð¿Ñ ÑлеменÑов.
ÐÑполÑзоваÑÑ Ð°ÑÑибÑÑ align-self Ð¸Ð¼ÐµÐµÑ ÑмÑÑл пÑи ÑабоÑе Ñ Ð¿Ð¾Ð¿ÐµÑеÑной оÑÑÑ, Ñак как поÑенÑиалÑно еÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑное пÑоÑÑÑанÑÑво во flex конÑейнеÑе в ÑÑом измеÑении, один ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÐºÐ¾ÑоÑого Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑемеÑÑн и в наÑало, и в конеÑ.
ÐÑÑавнивание и ÑвойÑÑво margin: auto
Ð ÑазмеÑке flexbox пÑиÑÑÑÑÑвÑÐµÑ ÐºÐ¾Ð½ÐºÑеÑнÑй ваÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑзованиÑ, в коÑоÑом, возможно, понадобиÑÑÑ Ð°ÑÑибÑÑ justify-self. ÐапÑимеÑ, когда бÑÐ´ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимо ÑазделиÑÑ Ð½Ð°Ð±Ð¾Ñ flex ÑлеменÑов Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾ÑделÑного Ñаблона навигаÑии. Ð Ñаком ÑлÑÑае, можно иÑполÑзоваÑÑ Ð°ÑÑибÑÑ margin Ñо знаÑением auto. ÐÑÑибÑÑ Ñ Ñаким знаÑением бÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð²Ñе доÑÑÑпное пÑоÑÑÑанÑÑво в ÑвоÑм измеÑении. Так ÑабоÑÐ°ÐµÑ ÑенÑÑиÑование блока Ñо ÑвойÑÑвом margin:auto. УÑÑановив знаÑение аÑÑибÑÑов margin-left и margin-right в знаÑение auto, обе ÑÑоÑÐ¾Ð½Ñ Ð½Ð°Ñего блока попÑÑаÑÑÑÑ Ð·Ð°Ð½ÑÑÑ Ð²Ñе доÑÑÑпное пÑоÑÑÑанÑÑво и, Ñаким обÑазом, заÑÑавÑÑ Ð´Ð²Ð¸Ð³Ð°ÑÑÑÑ Ð±Ð»Ð¾Ðº в ÑенÑÑ.
УÑÑановив знаÑение аÑÑибÑÑаmargin в auto Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑлеменÑа в набоÑе Ñ flex-ÑлеменÑами, вÑÑовненнÑÑ
Ñ Ð½Ð°Ñала, можно ÑоздаÑÑ ÑазделÑннÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑиÑ. ÐÑо Ñ
оÑоÑо ÑабоÑÐ°ÐµÑ Ñ ÑазмеÑкой flexbox и ÑвойÑÑвами вÑÑавниваниÑ. Ðак ÑолÑко Ð´Ð»Ñ ÑлеменÑа Ñо ÑвойÑÑвом margin: auto не оÑÑаÑÑÑÑ Ñвободного меÑÑа, он ÑÑÐ°Ð½ÐµÑ Ð²ÐµÑÑи ÑÐµÐ±Ñ Ñакже, как и вÑе оÑÑалÑнÑе flex ÑлеменÑÑ, и ÑокÑаÑиÑÑÑ Ð² обÑÑме, пÑÑаÑÑÑ ÑмеÑÑиÑÑÑÑ Ð² доÑÑÑпное пÑоÑÑÑанÑÑво.
ÐÑÑибÑÑÑ ÑазÑÑва
Создание ÑазÑÑва ÑикÑиÑованного ÑазмеÑа Ð¼ÐµÐ¶Ð´Ñ ÑлеменÑами
Ðа главной оÑи аÑÑибÑÑ column-gap бÑÐ´ÐµÑ ÑоздаваÑÑ ÑазÑÑÐ²Ñ ÑикÑиÑованного ÑазмеÑа Ð¼ÐµÐ¶Ð´Ñ ÑоÑедними ÑлеменÑами.
Ðа попеÑеÑной оÑи аÑÑибÑÑ row-gap ÑоздаÑÑ ÑазÑÑв Ð¼ÐµÐ¶Ð´Ñ ÑоÑедними flex линиÑми, поÑÑÐ¾Ð¼Ñ Ð½ÐµÐ¾Ð±Ñ
одимо Ñакже ÑÑÑановиÑÑ Ð°ÑÑибÑÑ flex-wrap в знаÑение wrap, ÑÑÐ¾Ð±Ñ Ð¿ÑимениÑÑ ÑÑÑекÑ.