130 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			130 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: CSS Flexbox Tips and Tricks | |||
|  | localeTitle: Советы и хитрости CSS Flexbox | |||
|  | --- | |||
|  | # CSS Flexbox
 | |||
|  | 
 | |||
|  | [CSS Flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes) позволяет нам легко форматировать наш HTML-код, как вы никогда не знали, что это возможно. С flexbox можно легко выровнять по вертикали и по горизонтали. Как звук этого? Да, я тоже. | |||
|  | 
 | |||
|  | Это также фантастично для общей компоновки вашего веб-сайта или приложения, его легко узнать, хорошо поддерживается (во всех современных браузерах) и отлично подходит для работы, не говоря уже о том, что не требуется много времени, чтобы справиться с ним вообще ! | |||
|  | 
 | |||
|  | ## Flexbox
 | |||
|  | 
 | |||
|  | Ниже приведен список свойств flexbox, которые можно использовать для размещения элементов в css: | |||
|  | 
 | |||
|  | ### CSS, который может быть применен к контейнеру
 | |||
|  | ``` | |||
|  | display: flexbox | inline-flex;  | |||
|  |  flex-direction: row | row-reverse | column | column-reverse;  | |||
|  |  flex-wrap: nowrap | wrap | wrap-reverse;  | |||
|  |  flex-flow: <'flex-direction'> || <'flex-wrap'>  | |||
|  |  justify-content: flex-start | flex-end | center | space-between | space-around;  | |||
|  |  align-items: flex-start | flex-end | center | baseline | stretch;  | |||
|  |  align-content: flex-start | flex-end | center | space-between | space-around | stretch;  | |||
|  | ``` | |||
|  | 
 | |||
|  | ### CSS, который может быть применен к элементам / элементам в контейнере
 | |||
|  | ``` | |||
|  | order: <integer>;  | |||
|  |  flex-grow: <number>; /* default 0 */  | |||
|  |  flex-shrink: <number>; /* default 1 */  | |||
|  |  flex-basis: <length> | auto; /* default auto */  | |||
|  |  flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]  | |||
|  |  align-self: auto | flex-start | flex-end | center | baseline | stretch;  | |||
|  | ``` | |||
|  | 
 | |||
|  | Итак, теперь у вас есть свой инструментарий, но вы спрашиваете: «Что мне делать с моими инструментами, как я могу их использовать?», Позвольте мне показать вам. | |||
|  | 
 | |||
|  | ### Дисплей Flex
 | |||
|  | 
 | |||
|  | `display: flex;` это просто сказать вашему браузеру, эй, я бы хотел использовать flexbox с этим контейнером, пожалуйста. Это будет инициализировать это поле как контейнер гибких дисков и применить некоторые свойства flex по умолчанию. | |||
|  | 
 | |||
|  | Вот что выглядит контейнер без `display: flex;` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | После добавления `display: flex;` мы получаем ниже, применяются свойства flex по умолчанию, заставляющие его показывать как таковые | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | ### Направление Flex
 | |||
|  | 
 | |||
|  | `flex-direction:` позволяет нам контролировать, как отображаются элементы в контейнере, вы хотите, чтобы они оставались вправо, справа налево, сверху вниз или снизу вверх? вы можете сделать все это легко, установив направление гибкости контейнера. | |||
|  | 
 | |||
|  | Flexbox применяет строку по умолчанию для направления. Вот как они выглядят так: | |||
|  | 
 | |||
|  | `flex-direction: row;` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | `flex-direction: row-reverse;` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | `flex-direction: column;` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | `flex-direction: column-reverse;` | |||
|  | 
 | |||
|  |  | |||
|  | 
 | |||
|  | ### Flex Wrap
 | |||
|  | 
 | |||
|  | Flexbox по умолчанию будет пытаться поместить все элементы в одну строку, но вы можете изменить это с помощью свойства flex-wrap, это позволяет вам установить, будут ли элементы перетекать или нет, есть три свойства для `flex-wrap:` | |||
|  | 
 | |||
|  | `flex-wrap: nowrap` это значение по умолчанию и будет выглядеть как угодно в одной строке слева направо. | |||
|  | 
 | |||
|  | `flex-wrap: wrap` это позволит элементам продолжать создавать несколько строк и слева направо. | |||
|  | 
 | |||
|  | `flex-wrap: wrap-reverse` позволяет элементам находиться на нескольких строках, но на этот раз отображается справа налево. | |||
|  | 
 | |||
|  | ### Flex Flow
 | |||
|  | 
 | |||
|  | Flex-поток сочетает использование `flex-wrap` и `flex-direction` в одном свойстве, он используется, сначала устанавливая направление, а затем обертывание. | |||
|  | 
 | |||
|  | `flex-flow: column wrap;` является примером, как использовать это. | |||
|  | 
 | |||
|  | ### Обосновать контент
 | |||
|  | 
 | |||
|  | `justify-content` - свойство aa для выравнивания элементов в контейнере вдоль основной оси (это изменяется в зависимости от того, как отображается содержимое). Для этого есть несколько вариантов, и это позволяет нам заполнять любое пустое пространство в строках, но определять, как мы хотим «оправдать» его. | |||
|  | 
 | |||
|  | Вот наши варианты, когда мы оправдываем наш контент `flex-start | flex-end | center | space-between | space-around;` , | |||
|  | 
 | |||
|  | ### Выровнять элементы
 | |||
|  | 
 | |||
|  | Выравнивание элементов позволяет выравнивать элементы вдоль поперечной оси. Это позволяет размещать контент по-разному, используя выравнивание содержимого и выравнивание элементов вместе. | |||
|  | 
 | |||
|  | `align-items: flex-start | flex-end | center | baseline | stretch;` | |||
|  | 
 | |||
|  | ### Выровнять содержимое
 | |||
|  | 
 | |||
|  | Это для выравнивания элементов с несколькими строками, для выравнивания на поперечной оси и не будет влиять на контент, который является одной строкой. | |||
|  | 
 | |||
|  | `align-content: flex-start | flex-end | center | space-between | space-around | stretch;` | |||
|  | 
 | |||
|  | ## Игры и приложения
 | |||
|  | 
 | |||
|  | [Flexbox Defense](http://www.flexboxdefense.com/) - это веб-игра, которая учит Flexbox интересным способом. | |||
|  | 
 | |||
|  | [Flexbox Froggy](http://flexboxfroggy.com/) также является веб-игрой, которая учит Flexbox интересным способом. | |||
|  | 
 | |||
|  | [Flexbox в 5](http://flexboxin5.com/) - это веб-приложение, которое позволяет вам видеть, как Flexbox работает с несколькими простыми элементами управления. | |||
|  | 
 | |||
|  | [Flexyboxes](http://the-echoplex.net/flexyboxes/) - это приложение, которое позволяет вам также просматривать образцы кода и изменять параметры, чтобы увидеть, как работает flexbox. | |||
|  | 
 | |||
|  | [Flexbox Patters](http://www.flexboxpatterns.com) - это веб-сайт, на котором показаны грузы примеров flexbox | |||
|  | 
 | |||
|  | ## Документация
 | |||
|  | 
 | |||
|  | [Сеть разработчиков Mozilla](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes) | |||
|  | 
 | |||
|  | [Трюки CSS](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) | |||
|  | 
 | |||
|  | ## Видео
 | |||
|  | 
 | |||
|  | [Flexbox Essentials](https://www.youtube.com/watch?v=G7EIAgfkhmg) | |||
|  | 
 | |||
|  | [Практические примеры Flexbox](https://www.youtube.com/watch?v=H1lREysgdgc) | |||
|  | 
 | |||
|  | [Что такое Flexbox ?!](https://www.youtube.com/watch?v=Vj7NZ6FiQvo&list=PLu8EoSxDXHP7xj_y6NIAhy0wuCd4uVdid) |