Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Flexbox — CSS

Flexbox ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ. Π’ этом руководствС ΠΌΡ‹ рассмотрим, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ flexbox поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, рСсурсы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для создания ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈ запасных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Как ΠΈ всС спСцификации CSS, flexbox ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΡ‚Π°Ρ‚ΡŒΒ ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ W3C. Π£ спСцификации Π² этом статусС Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ итСрациями всС Π±Ρ‹Π»ΠΎ ΠΈΠ½Π°Ρ‡Π΅.

Flexbox Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π’ Ρ‚ΠΎ врСмя ΠΌΠ΅Ρ‚ΠΎΠ΄ создания ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π» использованиС Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹Ρ… прСфиксов. ИдСя этих прСфиксов Π±Ρ‹Π»Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° спСцификации Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСализациями. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅.

Однако, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС прСфиксы всё Ρ€Π°Π²Π½ΠΎ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½, ΠΈ измСнСния Π² ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ спСцификации Π²Ρ‹Π½ΡƒΠ΄ΠΈΠ»ΠΈ людСй ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сайты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этой самой спСцификации ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Π’ 2009 спСцификация выглядСла совсСм ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ display: box ΠΈ нСсколько box-* свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°Π»ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сСгодня Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠΎΠ΄ flexbox.

ΠžΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ спСцификации помСняло синтаксис Π½Π° display: flexbox β€” ΠΈ ΠΎΠΏΡΡ‚ΡŒ с Π²Π΅Π½Π΄ΠΎΡ€Π½Ρ‹ΠΌΠΈ прСфиксами.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС спСцификация Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ display: flex ΠΊΠ°ΠΊ способ создания flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Начиная с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΉ вСрсии спСцификации отличная.

БущСствуСт нСсколько старых статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠ΅ вСрсии flexbox, ΠΈΡ… довольно Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ созданиС flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Если Π²Ρ‹ нашли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ display: box ΠΈΠ»ΠΈΒ display: flexbox, Ρ‚ΠΎ это ΡƒΠΆΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ информация.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ flexbox, ΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ прСфиксы для этого. Safari послСдним ΠΈΠ· основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² избавился ΠΎΡ‚ прСфиксов послС Ρ€Π΅Π»ΠΈΠ·Π° Safari 9 Π² 2015. Π”Π²Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ для обСспСчСния кроссбраузСрности, это:

  • Internet Explorer 10, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π½Π΅Π΄Ρ€ΠΈΠ» display: flexbox Π²Π΅Ρ€ΡΠΈΡŽ спСцификации с прСфиксом -ms-.
  • UC Browser, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всС Π΅Ρ‰Ρ‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ вСрсии 2009 Π³ΠΎΠ΄ с display: box ΠΈ прСфиксом -webkit-.

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ Π½Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Explorer 11 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ соврСмСнный display: flex, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ Π±Π΅Π· Π±Π°Π³ΠΎΠ².

The majority of issues with flexbox relate to the changes in the specification, as it has been developed, and the fact that many of us were attempting to use an experimental specification in production. If you are trying to ensure backwards compatibility with old versions of browsers, and in particular IE10 and 11, the Flexbugs site is a helpful resource.

You will see that many of the listed bugs apply to old browser versions and are fixed in current browsers. Each of the bugs has a workaround listed β€” which can save you many hours of puzzling.

If you want to include very old browsers with flexbox support then you can include the vendor prefixes in your CSS in addition to the unprefixed version. This is becoming less and less of a requirement today as support is widespread.«

.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

Autoprefixer Online is a useful way to see which prefixes are recommended, depending on how many versions you wish to go back with browser support. You can also check Can I Use for information about when prefixes were removed in browsers to make your decision.

Given that flexbox usage is initiated with value of the display property, when needing to support very old browsers which do not support flexbox at all, fallbacks can be created by overwriting one layout method with another. The specification defines what happens if you use other layout methods on an element which then becomes a flex item.

Floated items

β€œfloat and clear do not create floating or clearance of flex item, and do not take it out-of-flow.” — 3. Flex Containers

In the following live example, I have floated two blocks and then set display: flex on the container. The items are now flex items, which means they stretch to equal height. Any float behaviour does not apply.

You can test the fallback behaviour by removing display: flex from the wrapper.

display: inline-block

Once an inline-block item becomes a flex item, it is blockified and so behavior of display: inline-block like preserving white space between items no longer applies.

Remove display: flex to see the fallback behavior. You’ll see white space added between the items, which is what happens when using display: inine-block as it prefers white space like other inline items.

display: table-__

The CSS table display properties are potentially very useful as a fallback, due to the fact that they allow design patterns such as full height columns and vertical centering and work back as far as Internet Explorer 8.

If you use display: table-cell on an item in your HTML it takes on the styling of an HTML table cell. CSS creates anonymous boxes to represent these items so that you do not need to wrap each item in a wrapper to represent the HTML table row, and a second one to represent the table element itself, You can’t see or style these anonymous boxes; they are there purely to fix up the tree.

If you then declare display: flex on the parent item, these anonymous boxes do not get created and so your item remains a direct child and can become a flex item β€” losing any of the table display features.

β€œNote: Some values of display normally trigger the creation of anonymous boxes around the original box.

If such a box is a flex item, it is blockified first, and so anonymous box creation will not happen. For example, two contiguous flex items with display: table-cell will become two separate display: block flex items, instead of being wrapped into a single anonymous table.” — 4. Flex Items

The vertical-align property

The live example below demonstrates use of the vertical-align property along with display: inline-block. Both display: table-cell and display: inline-block allow for the use of this property. Use of

vertical-align enables vertical alignment prior to flexbox. The property is ignored by flexbox and so you can use it in conjunction with display: table-cell or display: inline-block as a fallback and then safely use box alignment properties in flexbox instead.

You can use feature queries to detect flexbox support:

@supports (display: flex) {
  // code for supporting browsers
}

Note that Internet Explorer 11 does not support feature queries yet does support flexbox. If you decide the IE11 implementation is too buggy and you wish to serve it the fallback layout then you could use feature queries to serve flexbox rules only to those browsers with good flexbox support. Remember that if you want to include versions of browsers that had vendor-prefixed flexbox you would need to include the prefixed version in your feature query. The following feature query would include UC Browser, which supports feature queries and old flexbox syntax, prefixed:

@supports (display: flex) or (display: -webkit-box) {
  // code for supporting browsers
}

For more information about using Feature Queries see Using Feature Queries in CSS on the Mozilla Hacks blog.

While I’ve spent some time in this guide going through potential issues and fallbacks, flexbox is very much ready for you to be using in production work. This guide will help you in those cases where you do come across an issue or have the requirement to support older browsers.

Last modified: , by MDN contributors

CSS — ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Flexbox

Flexbox ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся Π² соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…,ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ,с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ.Π’ этом руководствС ΠΌΡ‹ рассмотрим,насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ Flexbox поддСрТиваСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…,Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹,рСсурсы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ создания ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ флСксбокса

Как ΠΈ всС спСцификации CSS,спСцификация Flexbox ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»Π° большоС количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ,ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½Π° стала Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°,которая Ρƒ нас Π΅ΡΡ‚ΡŒ сСгодня.Π’ качСствС Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС спСцификации,ΠΎΠ΄Π½Π°ΠΊΠΎ это Π½Π΅ Ρ‚Π°ΠΊ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ флСксбоксов.

Flexbox Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ способом Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….Π’ Ρ‚ΠΎ врСмя ΠΌΠ΅Ρ‚ΠΎΠ΄ создания ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² использовании прСфикса производитСля.ИдСя этих прСфиксов состояла Π² Ρ‚ΠΎΠΌ,Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ спСцификации Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²,Ρ‚Π°ΠΊ ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ,Π½Π΅ вступая Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСализациями. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ,Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² производствСнном ΠΊΠΎΠ΄Π΅.Однако,Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅,прСфиксы Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² производствСнном ΠΊΠΎΠ΄Π΅,Π° измСнСния Π² ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ спСцификации ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ нСобходимости обновлСния сайтов.

Π’ 2009 Π³ΠΎΠ΄Ρƒ спСцификация выглядСла совсСм ΠΈΠ½Π°Ρ‡Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ display: box ΠΈ Π±Ρ‹Π»ΠΎ нСсколько свойств box-* , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выполняли Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сСгодня ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈΠ· flexbox.

Π‘Ρ‹Π»ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ спСцификации , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ синтаксис для display: flexbox β€” это снова Π±Ρ‹Π»ΠΎ с прСфиксом поставщика.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ спСцификация Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ display: flex ΠΊΠ°ΠΊ способ создания flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π‘ этой Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии спСцификации отличная.

БущСствуСт нСсколько старых статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ старыС вСрсии flexbox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ довольно Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° измСнСния способа создания flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, относящССся ΠΊ display: box ΠΈΠ»ΠΈ display: flexbox это ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ информация.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ flexbox ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚,ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ прСфикс Π½Π΅ Π½ΡƒΠΆΠ΅Π½.Safari Π±Ρ‹Π» послСдним ΠΈΠ· основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²,ΡƒΠ΄Π°Π»ΠΈΠ²ΡˆΠΈΡ… прСфиксы,с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Safari 9 Π² 2015 Π³ΠΎΠ΄Ρƒ.Для кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ совмСстимости слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π΄Π²ΡƒΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…:

  • Internet Explorer 10, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° вСрсия спСцификации display: flexbox с прСфиксом -ms- .
  • Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ UC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всС Π΅Ρ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ display: box 2009 Π³ΠΎΠ΄Π° : коробочная вСрсия Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с прСфиксом -webkit- .

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Internet Explorer 11 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ display: flex ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ряд ошибок.

Common issues

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с flexbox связаны с измСнСниями Π² спСцификации ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Ρ‚Π΅ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· нас ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² производствС. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старыми вСрсиями Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π² частности с IE10 ΠΈ 11, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ сайт Flexbugs . Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· пСрСчислСнных ошибок относятся ΠΊ старым вСрсиям Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ исправлСны Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ошибок Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ часов Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ старыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ flexbox,Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСфиксы ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² Π² Π²Π°ΡˆΡƒ CSS Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΏΠΎΠ΄ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ вСрсии.БСгодня это становится всС мСньшС ΠΈ мСньшС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ,Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСна.

.wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

Autoprefixer Online — это ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ способ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ прСфиксы Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько вСрсий Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΌΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° прСфиксы Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ отступлСния

Учитывая, Ρ‡Ρ‚ΠΎ использованиС flexbox начинаСтся со значСния свойства display , ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ flexbox, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запасныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, пСрСписав ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. БпСцификация опрСдСляСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ°ΠΊΠ΅Ρ‚Π° для элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ становится Π³ΠΈΠ±ΠΊΠΈΠΌ элСмСнтом.

Floated items

Β«ΠΏΠ»Π°Π²Π°Π½ΠΈΠ΅ ΠΈ очистка Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠ»Π°Π²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ очистку Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ элСмСнта ΠΈ Π½Π΅ выводят Π΅Π³ΠΎ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°Β». — 3. ЀлСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΆΠΈΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я размСстил Π΄Π²Π° Π±Π»ΠΎΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ установил display: flex для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ высоты. НикакоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π½Π΅ примСняСтся.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»ΠΈΠ² display: flex ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

display: inline-block

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнт inline-block становится Π³ΠΈΠ±ΠΊΠΈΠΌ элСмСнтом, ΠΎΠ½ block ΠΈ поэтому ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ display: inline-block ΠΊΠ°ΠΊ сохранСниС ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами, большС Π½Π΅ примСняСтся.

Π£Π΄Π°Π»ΠΈΡ‚Π΅ display: flex Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ пустоС пространство, Ρ‡Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ использовании display: inline-block ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ пустоС пространство, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ встроСнныС элСмСнты.


Β© 2005–2021 Авторы MDN.
ЛицСнзия Creative Commons Attribution-ShareAlike License v2.5 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ поздняя.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Backwards_Compatibility_of_Flexbox

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Flexbox

Flexbox (Flexible Layout Box) — это Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π² CSS3, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для Π±ΠΎΠ»Π΅Π΅ слоТных Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²Π΅Π±-страницам Π² соврСмСнном Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны тСхничСскиС подробности синтаксиса Flexbox. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² становится всС быстрСС ΠΈ быстрСС, поэтому, ΠΊΠΎΠ³Π΄Π° Flexbox ΡˆΠΈΡ€ΠΎΠΊΠΎ поддСрТиваСтся ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ шаг быстрСС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ!

Β 

Автор Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты, встроСнныС Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ элСмСнты ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства CSS для макСтирования содСрТимого сайта. Однако ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для слоТных страниц ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΡƒΠ΄ΡŒ Ρ‚ΠΎ простоС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ гибкая ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° сСтки, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, поэтому ΠΎΠ½ достигCSS сСтка, Но Ссли Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для достиТСния этих Ρ†Π΅Π»Π΅ΠΉ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅? ЦСль Flexbox — ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС это.

Π Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ спСцификациСй Flexbox вСдСтся ΡƒΠΆΠ΅ 3 Π³ΠΎΠ΄Π°. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ вСрсии. Π’ сСнтябрС 2012 Π³ΠΎΠ΄Π°Π’Ρ€Π΅Ρ‚ΡŒΡ основная рСдакция синтаксиса Flexbox вступаСт Π² Ρ„Π°Π·Ρƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°, Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ W3C считаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ синтаксис ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π‘Ρ€ΠΎΠΊΠΈ спСцификации Flexbox:

  • Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° июль 2009 Π³. (дисплСй: ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ°;)
  • Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° ΠΌΠ°Ρ€Ρ‚ 2011 Π³ΠΎΠ΄Π° (дисплСй: flexbox;)
  • ΠΠΎΡΠ±Ρ€ΡŒ 2011 Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (дисплСй: flexbox;)
  • ΠœΠ°Ρ€Ρ‚ 2012 Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (дисплСй: flexbox;)
  • Июнь 2012 Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (дисплСй: flex;)
  • Π‘Π΅Π½Ρ‚ΡΠ±Ρ€ΡŒ 2012 Π³. РСкомСндация ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° (дисплСй: flex;)

Flexbox быстро поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Chrome 22+, Opera 12.1+ ΠΈ Opera Mobile 12.1+ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Flexbox, описанный Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.Firefox 18ΠΈBlackberry 10Π­Ρ‚ΠΎ скоро Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flexbox для простого создания ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Ρ‚Π°ΠΊΠΈΠΌ слоТным для понимания, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅, Π½Π°ΠΌ всС ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flexbox. НовыС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈ понятия ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ прСпятствиСм ΠΏΡ€ΠΈ использовании Flexbox, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ сначала разбСрСмся с Π½ΠΈΠΌΠΈ.

Flexbox byВСлСскопичСский контСйнСриВСлСскопичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Установив элСмСнтdisplayАтрибутflexΠΈΠ»ΠΈinline-flexΠ’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ тСлСскопичСский ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. УстановитС Π²flexΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ отобраТаСтся ΠΊΠ°ΠΊ элСмСнт уровня Π±Π»ΠΎΠΊΠ° ΠΈ устанавливаСтся Π½Π°inline-flexΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ отобраТаСтся ΠΊΠ°ΠΊ встроСнный элСмСнт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ здСсь создаСт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

.flex-container {
display: -webkit-flex;
display: flex;
}

ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ прСфикс ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ поставщика Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ элСмСнт Π² flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ являСтся flex-элСмСнтом. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΡˆΠΊΠ°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ числом. ВсС, Ρ‡Ρ‚ΠΎ находится Π²Π½Π΅ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Flexbox опрСдСляСт, ΠΊΠ°ΠΊ слСдуСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

ВСлСскопичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ слСдуСт заВСлСскопичСский Ρ€ΡΠ΄ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ тСлСскопичСский ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ приходится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ тСлСскопичСский ряд.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ располоТСниС 2 элСмСнтов ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: отобраТаСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ вдоль Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ тСлСскопичСской Π»ΠΈΠ½ΠΈΠΈ.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<style type="text/css">
. flex-container {
    display: -webkit-flex;
    display: flex;
    width: 300px;
    height: 240px;
    background-color: Silver;
}
.flex-item {
    background-color: DeepSkyBlue;
    width: 100px;
    height: 100px;
    margin: 5px;
}
</style>
<body>
<div>
<div>flex item 1</div>
<div>flex item 2</div>
</div>
</body>
</html>

Π³ΠΈΠ±ΠΊΠΈΠΉ Ρ‚Ρ€ΡƒΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ растяТСния направлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°

flex-directionΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ оси тСлСскопичСского ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.flex-directionΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтсяrow, Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ основан Π½Π°Π Π΅ΠΆΠΈΠΌ ΠΏΠΈΡΡŒΠΌΠ°ΠΠ°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ располоТСния. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈ свСрху Π²Π½ΠΈΠ·. Π”Ρ€ΡƒΠ³ΠΈΠ΅ значСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • row-reverse: ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π³Π»Π°Π²Π½ΠΎΠΉ оси ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π³Π»Π°Π²Π½ΠΎΠΉ оси. Если Ρ€Π΅ΠΆΠΈΠΌ записи слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, тСлСскопичСскиС элСмСнты ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ справа Π½Π°Π»Π΅Π²ΠΎ.
  • столбСц: основная ΠΈ боковая оси Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Если систСма письма располоТСна Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, тСлСскопичСскиС элСмСнты Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.
  • column-reverse: Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ столбСц, Π½ΠΎ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ возьмСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€flex-directionИзмСнСно Π½Π°column。

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш тСлСскопичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ отобраТаСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.

Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ оси ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ (ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ)

ВСлСскопичСский ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€justify-contentАтрибут ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ полоТСния тСлСскопичСского элСмСнта Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:

  • flex-start: элСмСнты flex Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ строки (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
  • flex-end: элСмСнты flex Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹ ΠΏΠΎ ΠΊΠΎΠ½Ρ†Ρƒ строки (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
  • Ρ†Π΅Π½Ρ‚Ρ€: Ρ†Π΅Π½Ρ‚Ρ€
  • space -ween: Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСно ΠΏΠΎ строкам, пСрвая позиция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π² строкС, конСчная позиция послСднСго элСмСнта Π² строкС
  • пространство Π²ΠΎΠΊΡ€ΡƒΠ³: Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ располоТСно Π² рядах, оставляя ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ пространства Π½Π° ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠ½Ρ†Π°Ρ…

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ устанавливаСмjustify-contentΠ΅ΡΡ‚ΡŒcenterДля цСнтрирования тСлСскопичСского элСмСнта Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси:

ALIGN-Π΄Π΅Ρ‚Π°Π»ΠΈ со стороны Π²Π°Π»Π° (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Ρ‹

align-itemsЯвляСтся ΠΈjustify-contentΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. align-itemsΠžΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ тСлСскопичСских ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:

  • flex-start
  • flex-end
  • Ρ†Π΅Π½Ρ‚Ρ€: Ρ†Π΅Π½Ρ‚Ρ€
  • базовая линия: Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ элСмСнта
  • Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ: ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ устанавливаСмalign-itemsΠ΅ΡΡ‚ΡŒcenterДля цСнтрирования тСлСскопичСского элСмСнта Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси:

Как ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅,flex-start,Β flex-endИcenterΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ.stretchΠ­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ просто: ΠΎΠ½ вытянСт тСлСскопичСский элСмСнт ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси.baselineΠ­Ρ‚ΠΎ для выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов с ΠΈΡ… Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ линиями. Базовая линия рассчитываСтся Π½Π° основС содСрТания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π»Π΅Π³Π΅Π½Π΄Π° ΠΈΠ· стандарта W3C Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹:

Flex-ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ стрСтч

Пока Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ряд ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. использованиСflex-wrapΠ’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько Π³ΠΈΠ±ΠΊΠΈΡ… Π»ΠΈΠ½ΠΈΠΉ для Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π­Ρ‚ΠΎ свойство ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

  • nowrap: однострочный дисплСй (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
  • ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°: многострочный дисплСй
  • wrap-reverse

Сслиflex-wrapУстановитС Π²wrapКогда всС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ элСмСнты Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ элСмСнтС, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ элСмСнт пСрСносится Π½Π° вновь Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΡƒΡŽ линию. НовыС тСлСскопичСскиС ряды Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌflex-wrapΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

wrap-reverseΠ’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠ±Ρ‚Π΅ΠΊΠ°Π½ΠΈΠ΅, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ тСлСскопичСскиС ряды Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси.

Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ линию стСка выравнивания ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°

align-contentΠ‘ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡflex-wrapПовСдСниС. Π­Ρ‚ΠΎ ΠΈalign-itemsΠ­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½ΠΎ вмСсто выравнивания Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнтов, это Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ. Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚, ΠΏΠΎΡ…ΠΎΠΆΠΈ:

  • Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
  • flex-start: каТдая строка укладываСтся Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  • flex-end: каТдая строка укладываСтся ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  • Ρ†Π΅Π½Ρ‚Ρ€: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ряд укладываСтся Π² сСрСдину тСлСскопичСского ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  • ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»: ряды Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСны Π² тСлСскопичСском ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅
  • пространство Π²ΠΎΠΊΡ€ΡƒΠ³: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ряд Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСн Π² тСлСскопичСском ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ элСмСнтов управлСния Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сторонС

Π­Ρ‚ΠΈ значСния Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊjustify-contentΠΈalign-itemsЗначСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ направлСния растяТСния

flex-flowΠ—Π΄Π΅ΡΡŒflex-directionΠΈflex-wrapАкроним.

flex-flow: [flex-direction] [flex-wrap]

НапримСр:

.flex-container {
-webkit-flex-flow: column nowrap;
flex-flow: column nowrap;
}

Бвойства элСмСнта ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ flex являСтся Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтом ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° flex. ВСкст Π² флСкс-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ считаСтся флСкс-элСмСнтом.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. НапримСр, Ссли для элСмСнта flex Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ float, Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнт Π² элСмСнт flex.

Π•ΡΡ‚ΡŒ тСлСскопичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π”Π»ΠΈΠ½Π° основного Π²Π°Π»Π°Π˜Π”Π»ΠΈΠ½Π° ΠΏΠΎΠΏΠ΅Ρ€Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π²Π°Π»Π°, Π”Π»ΠΈΠ½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси — это Ρ€Π°Π·ΠΌΠ΅Ρ€ тСлСскопичСского элСмСнта Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси. Π”Π»ΠΈΠ½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси — это Ρ€Π°Π·ΠΌΠ΅Ρ€ тСлСскопичСского элСмСнта Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠ»ΠΈ высота тСлСскопичСского ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° зависит ΠΎΡ‚ оси тСлСскопичСского ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π»ΠΈΠ½ΠΎΠΉ Π΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠΉ оси ΠΈΠ»ΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свойства ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнта ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°:

порядок отобраТСния порядка

orderΠ­Ρ‚ΠΎ самый простой ΠΈ понятный Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚. Установка порядка элСмСнтов flex измСняСт порядок ΠΈΡ… отобраТСния. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ устанавливаСм ΠΎΠ΄ΠΈΠ½ ΠΈΠ· элСмСнтов flex 2orderΠ­Ρ‚ΠΎ Π±Ρ‹Π» -1, поэтому ΠΎΠ½ Π±Ρ‹Π» пСрСнСсСн Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΡ… тСлСскопичСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π­Ρ‚ΠΎ полСзная функция, Ссли порядок Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ порядок отобраТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

ΠΌΠ°Ρ€ΠΆΠ° ΠΌΠ°Ρ€ΠΆΠ°

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²margin: auto;ΠΈΠ·Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠžΡ‡Π΅Π½ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Π’ тСлСскопичСской ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ. ПолС Β«autoΒ» ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выдавливания тСлСскопичСских ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ мСста.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ заявили ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌ тСлСскопичСском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅margin-right: auto;Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ всС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство Π±ΡƒΠ΄Π΅Ρ‚ объСдинСно справа ΠΎΡ‚ этого элСмСнта:

Β 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌmargin: auto;ВоспроизвСсти свящСнный Π“Ρ€Π°Π°Π»ΡŒ классичСского ΠΌΠ°ΠΊΠ΅Ρ‚Π° CSS: ΠΏΡ€Π°Π²Π΄Π° Β· Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅:

прогибаСтся Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, собираСмся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. flexΠ£ΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси тСлСскопичСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим всС ΠΎΠ±Ρ‰ΠΈΠ΅ цСнности сразу.

flex: [number]

Π­Ρ‚ΠΎΡ‚ синтаксис ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт долю ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ пространства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ занято этим тСлСскопичСским элСмСнтом.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2/4 ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ пространства, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ 1/4 ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ пространства.

Если для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1, ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство Π±ΡƒΠ΄Π΅Ρ‚ распрСдСлСно Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ.

flex: initial

flexΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° установлСно Π²initialΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π΅ измСнится Π² случаС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ мСста, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€.

flex: auto

flexΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° установлСно Π²autoВСлСскопичСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ ΠΈ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π² соотвСтствии с основным Π²Π°Π»ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π½ΡΡ‚ΡŒ всС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство.

autoΠ’ настоящСС врСмя дСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Opera 12.11, Π½ΠΎ Π½Π΅ Π² Chrome 23.0.1271.95. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽflex: 1;Для достиТСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта.

flex: none

flexΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° установлСно Π²noneΠ’ случаС тСлСскопичСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° тСлСскопичСскоС событиС Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

Π³ΠΈΠ±ΠΊΠΎΠ΅ сокращСниС

flexΠ’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒflex-grow,Β flex-shrinkИflex-basisΠ­Ρ‚ΠΈ 3 сокращСния — 1 ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅:

flex: [flex-grow] [flex-shrink] [flex-basis]

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½Π΅Ρ‚ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот синтаксис. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, трСбуСтся Π±ΠΎΠ»Π΅Π΅ понятный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Если Ρ‚Ρ‹ Π΄ΡƒΠΌΠ°Π΅ΡˆΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ΅Π½,ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π² спСцификациях。

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅flex-grow,Β flex-shrinkИflex-basisΠ£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚. Но я катСгоричСски ΠΏΡ€ΠΎΡ‚ΠΈΠ² этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: ΠΏΡ€ΠΈ использованииflexΠŸΡ€ΠΈ сокращСнии Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния Π½Π΅ установлСны.

Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ видимости

Когда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ вступаСт Π² силу, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒvisibility: collapse;ΠΈvisibility: hidden;ΠΈdisplay: none;Π­Ρ„Ρ„Π΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Если этоcollapseΠ­Ρ‚ΠΎΡ‚ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΄Π»ΠΈΠ½Ρƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси тСлСскопичСского ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½ΠΎ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ мСсто Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ оси. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ динамичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты, Π½Π΅ влияя Π½Π° Π΄Π»ΠΈΠ½Ρƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ оси Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Пока Ρ‡Ρ‚ΠΎvisibility: collapse;Π­Ρ‚ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. Π² настоящСС врСмяvisibility: collapse;Π’Π°ΠΊΠΆΠ΅ сvisibility: hidden;Π’ΠΎΡ‚ ΠΆΠ΅ эффСкт достигаСтся. Π― надСюсь ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ Π² блиТайшСС врСмя.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅Π·Π΄Π΅ΡΡŒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒcollapseКак это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

Ρ€Π΅Π·ΡŽΠΌΠ΅

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Flexbox — это новая мощная модСль вСрстки, которая принСсСт Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ вСрстки Π½Π° Π²Π΅Π±-сайты, Π½ΠΎ ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ. Π― надСюсь, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сайт с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ вСрсткой. Π― Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ выглядит Ρ…ΠΎΡ€ΠΎΡˆΠΎ для мСня.

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:Dive into Flexbox (http://weblog.bocoup.com/dive-into-flexbox)
Бсылки:Css3-flexbox (http://www.w3.org/html/ig/zh/wiki/Css3-flexbox)

ВрансфСр ΠΈΠ·:Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Flexbox:http://c7sky.com/dive-into-flexbox.html

Β 

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° с: http://www.w3cplus.com/blog/666.html

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ CSS

ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Поиск

?

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π³ΠΈΠ±ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² CSS

— CR

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ использованиС
    98,67% + 0,96% Π·Π½Π°ΠΊ Ρ€Π°Π²Π½ΠΎ 99,63%

Бпособ размСщСния элСмСнтов Π² Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… стопках. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС свойства с прСфиксом flex , Π° Ρ‚Π°ΠΊΠΆΠ΅ display: flex , display: inline-flex , align-content , align-items , align-self , justify-content ΠΈ order

Chrome
  1. 11% — Partial support, requires this prefix to work: -webkit-«> 4 — 20: Partial support
  2. 21 — 28: Supported
  3. 29 — 105: Supported
  4. 106: Supported
  5. 107 — 109: Supported
Edge
  1. 12 — 105: Supported
  2. 106: поддСрТиваСтся
SAFARI
  1. 3.1 — 6: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
  2. 6.1 — 8: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
  3. 9 — 15,6: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
  4. 16,0: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½
  5. 01% — Supported»> 16.1 — TP: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
  • 16.1 — TP: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
  • 98
  • 16.1 — TP: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»
  • 16.1 — TP: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»
  • 16.1 -TP: TPP: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
  • 16.1 -TP: Suppared
  • 16.1 -TP: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
  • 22 — 27: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
  • 28 — 104: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
  • 105: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
  • 106 — 107: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
  • Opera
    1. 9 — 12: НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
    2. 00% — Supported»>44444414: 70037
    3. 9 — 12: НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
    4. 44444444444.1: Подпоника
    5. 9 — 12: НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
    6. 44444444.1.0015
    7. 15 — 16: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΎ
    8. 17 — 90: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    9. 91: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    IE
    1. 5,5 — 9: Π½Π΅ поддСрТиваСтся
    2. 10: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    3. 11: Partiation
    4. 10: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    5. 48% — Partial support»> 11: Partial Happort
    6. 10: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    7. .
    1. 105: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    Safari Π½Π° iOS
    1. 3,2 — 6,1: частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    2. 7 — 8,4: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΎ
    3. 9 — 15,6: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½Π½Ρ‹ΠΉ
    4. 16.0: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
    5. 9.0015
    Samsung Internet
    1. 88% — Supported»> 4 — 17.0: Supported
    2. 18.0: Supported
    Opera Mini
    1. all: Supported
    Opera Mobile
    1. 10 — 12: Not supported
    2. 12.1: Supported
    3. 64: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ UC для Android
    1. 13.4: ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ
    Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Android
    1. 2.1 — 4.3: Частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
    2. 4.4 — ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ 4.40015
    3. 105: Supported
    Firefox for Android
    1. 104: Supported
    QQ Browser
    1. 14% — Supported»> 13.1: Supported
    Baidu Browser
    1. 13.18: Supported
    KaiOS Browser
    1. 2.5: Supported

    Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ частичной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ относится ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π±ΠΎΠ»Π΅Π΅ старой вСрсии спСцификации ΠΈΠ»ΠΈ старого синтаксиса.

    РСсурсы:
    Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ CSS Flexbox
    ПолноС руководство ΠΏΠΎ Flexbox
    Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅
    10up Open Sources IE 8 ΠΈ 9 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Flexbox
    Flexbugs: Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для ошибок flexbox Flex-Basis
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ flexbox
    Π˜Π³Ρ€ΠΎΠ²Π°Ρ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° Flexbox ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°
    Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎΠ± использовании послСднСй спСцификации
    ΠŸΠΎΠ΄Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:
    свойство gap для Flexbox

    ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ flexbox — CSS: ΠšΠ°ΡΠΊΠ°Π΄Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй

    Flexbox ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ. Π’ этом руководствС ΠΌΡ‹ рассмотрим, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ flexbox поддСрТиваСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, рСсурсы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для создания ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΈ запасных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

    Как ΠΈ всС спСцификации CSS, спСцификация Flexbox ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»Π° большоС количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ стала Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠ΅ΠΉ-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ сСгодня. Π’ качСствС ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² спСцификации Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ этого Π½Π΅ Π±Ρ‹Π»ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… итСрациях flexbox.

    Flexbox Π±Ρ‹Π» ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π’ Ρ‚ΠΎ врСмя ΠΌΠ΅Ρ‚ΠΎΠ΄ создания ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² использовании прСфикса поставщика. ИдСя этих прСфиксов Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ спСцификации, Π½Π΅ конфликтуя с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСализациями. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠΎΠ΄Π΅. Однако Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ прСфиксы использовались Π² производствСнном ΠΊΠΎΠ΄Π΅, Π° измСнСния Π² ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ спСцификации заставляли людСй ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ свои сайты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΎΡ‚ΡΡ‚Π°Π²Π°Ρ‚ΡŒ.

    Π’ 2009 Π³ΠΎΠ΄Ρƒ спСцификация выглядСла совсСм ΠΈΠ½Π°Ρ‡Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ display: box ΠΈ ряд свойств box-* , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈΠ· flexbox сСгодня.

    Π‘Ρ‹Π»ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ спСцификации, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ синтаксис Π΄ΠΎ display: flexbox β€” это снова Π±Ρ‹Π»ΠΎ с прСфиксом поставщика.

    Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ спСцификация Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ display: flex ΠΊΠ°ΠΊ способ создания Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии спСцификации прСвосходна.

    БущСствуСт нСсколько старых статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ Π±ΠΎΠ»Π΅Π΅ старым вСрсиям flexbox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ довольно Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° измСнСния способа создания flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Если Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, относящССся ΠΊ display: box ΠΈΠ»ΠΈ display: flexbox , это ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ информация.

    Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ flexbox ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, ΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π½Π΅ Π½ΡƒΠΆΠ΅Π½ прСфикс. Safari Π±Ρ‹Π» послСдним ΠΈΠ· основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄Π°Π»ΠΈΠ» прСфиксы с выпуском Safari 9.Π² 2015 Π³ΠΎΠ΄Ρƒ. Π”Π²Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ для ΠΌΠ΅ΠΆΠ±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ совмСстимости:

    • Internet Explorer 10, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° вСрсия спСцификации display: flexbox с прСфиксом -ms- .
    • UC Browser, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ дисплСй 2009 Π³ΠΎΠ΄Π°: вСрсия box Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с прСфиксом -webkit- .

    Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Internet Explorer 11 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ display: flex , ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ряд ошибок.

    Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с flexbox связаны с измСнСниями Π² спСцификации ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ с Ρ‚Π΅ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· нас ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² производствС. Если Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старыми вСрсиями Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π² частности с IE10 ΠΈ 11, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ сайт Flexbugs. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· пСрСчислСнных ошибок относятся ΠΊ старым вСрсиям Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ исправлСны Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ошибок Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ часов Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΎΠΊ.

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ старыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ flexbox, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСфиксы поставщиков Π² свой CSS Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ вСрсии Π±Π΅Π· прСфикса. БСгодня это становится всС ΠΌΠ΅Π½Π΅Π΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСна.

     .ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° {
      дисплСй: -webkit-box;
      ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -webkit-flex;
      ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -ms-flexbox;
      дисплСй: гибкий;
    }
     

    Autoprefixer Online β€” ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ способ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ прСфиксы Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько вСрсий Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° прСфиксы Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

    Учитывая, Ρ‡Ρ‚ΠΎ использованиС flexbox инициируСтся со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ свойства display , ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΡ‡Π΅Π½ΡŒ старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ flexbox, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запасныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΡƒΡ‚Π΅ΠΌ пСрСзаписи ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ. БпСцификация опрСдСляСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ для элСмСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ становится flex-элСмСнтом.

    ΠŸΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹

    «ΠΏΠ»Π°Π²Π°Π½ΠΈΠ΅ ΠΈ очистка Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ»ΠΈ клирСнса Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ элСмСнта ΠΈ Π½Π΅ выводят Π΅Π³ΠΎ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°». — 3. Π“ΠΈΠ±ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹

    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΆΠΈΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я сдСлал Π΄Π²Π° Π±Π»ΠΎΠΊΠ° ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ установил display: flex Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ элСмСнтами, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ высоты. Π›ΡŽΠ±ΠΎΠ΅ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ примСняСтся.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»ΠΈΠ² display: flex ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

    display: inline-block

    Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнт inline-block становится flex-элСмСнтом, ΠΎΠ½ Π±Π»ΠΎΠΊ идСнтифицируСтся, ΠΈ поэтому ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ 9ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 0018: встроСнный Π±Π»ΠΎΠΊ , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сохранСниС ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами, большС Π½Π΅ примСняСтся.

    Π£Π΄Π°Π»ΠΈΡ‚Π΅ дисплСй : согнитС , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ пустоС пространство, Ρ‡Ρ‚ΠΎ ΠΈ происходит ΠΏΡ€ΠΈ использовании display: inline-block , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ пустоС пространство, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ встроСнныС элСмСнты.

    display: table-

    Бвойства отобраТСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ CSS ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² качСствС запасного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Π΅ столбцы ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ Internet Explorer 8.

    Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ display: table-cell для элСмСнта вашСго HTML, ΠΎΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΈΠ»ΡŒ ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ HTML. CSS создаСт Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ для прСдставлСния этих элСмСнтов, поэтому Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ для прСдставлСния строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ HTML, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” для прСдставлСния самого элСмСнта Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ; ΠΎΠ½ΠΈ здСсь ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ.

    Если Π²Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ display: flex для Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта, эти Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ поля Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ созданы, ΠΈ поэтому ваш элСмСнт останСтся прямым Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтом ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΌ элСмСнтом β€” потСряв всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отобраТСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

    «ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. НСкоторыС значСния display ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ созданиС Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π²ΠΎΠΊΡ€ΡƒΠ³ исходного Π±Π»ΠΎΠΊΠ°. Если Ρ‚Π°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ являСтся Π³ΠΈΠ±ΠΊΠΈΠΌ элСмСнтом, ΠΎΠ½ сначала блокируСтся, поэтому созданиС Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. НапримСр, Π΄Π²Π° смСТных Π³ΠΈΠ±ΠΊΠΈΡ… элСмСнта с display: table-cell станСт двумя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами display: block flex вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠ΄Π½Ρƒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†ΡƒΒ». — 4. Π“ΠΈΠ±ΠΊΠΈΠ΅ элСмСнты

    Бвойство Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ выравнивания

    Π–ΠΈΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ дСмонстрируСт использованиС свойство vertical-align вмСстС с display: inline-block . Оба display: table-cell ΠΈ display: inline-block ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это свойство. ИспользованиС vertical-align позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ flexbox. Бвойство игнорируСтся flexbox, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² сочСтании с display: table-cell ΠΈΠ»ΠΈ display: inline-block Π² качСствС запасного Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ вмСсто этого бСзопасно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойства выравнивания Π±Π»ΠΎΠΊΠ° Π²ΠΎ flexbox.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ запросы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для обнаруТСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ flexbox:

     @supports (display: flex) {
      /* ΠΊΠΎΠ΄ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² */
    }
     

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Internet Explorer 11 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ запросы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ flexbox. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ рСализация IE11 содСрТит слишком ΠΌΠ½ΠΎΠ³ΠΎ ошибок, ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΉ запасной ΠΌΠ°ΠΊΠ΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ запросы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для обслуТивания ΠΏΡ€Π°Π²ΠΈΠ» flexbox Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ flexbox. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ вСрсии Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² с flexbox с прСфиксом поставщика, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ с прСфиксом Π² свой запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ UC Browser, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ запросы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ старый синтаксис flexbox с прСфиксом:

     @supports (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: flex) ΠΈΠ»ΠΈ (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -webkit-box) {
      /* ΠΊΠΎΠ΄ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² */
    }
     

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± использовании запросов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ИспользованиС запросов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² CSS Π² Π±Π»ΠΎΠ³Π΅ Mozilla Hacks.

    Π₯отя я ΠΏΡ€ΠΎΠ²Π΅Π» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π² этом руководствС, рассматривая ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ, flexbox ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию Π² производствСнной Ρ€Π°Π±ΠΎΡ‚Π΅. Π­Ρ‚ΠΎ руководство ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

    ПослСднСС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: , участниками MDN

    ΠšΡ€ΠΎΡΡΠ±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CSS Flexbox

    Вопрос Π·Π°Π΄Π°Π½

    ИзмСнСно 4 Π³ΠΎΠ΄Π°, 5 мСсяцСв Π½Π°Π·Π°Π΄

    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ 51k Ρ€Π°Π·

    Π― использовал ΠΊΠΎΠ΄, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΌΠΎΠ΅ΠΌ Chrome, Π½ΠΎ Π½Π΅ Π² IE9 ΠΈ Safari.

    Π― искал Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Google, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСфиксы поставщиков, эти Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ мСня ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ с Ρ‚ΠΎΠ»ΠΊΡƒ.

     <Π΄Π΅Π»>
        <Π΄Π΅Π»>
        <Π΄Π΅Π»>
    
    • css
    • flexbox
    • кроссбраузСрный

    2

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ всС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Flexbox, ваш CSS Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

     .foo {
      дисплСй: -webkit-box;
      дисплСй: -moz-box;
      ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -ms-flexbox;
      ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -webkit-flex;
      дисплСй: гибкий;
      -webkit-box-orient: Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ;
      -moz-box-ориСнтация: Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ;
      -webkit-box-direction: Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ;
      -moz-box-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅;
      -webkit-flex-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: строка;
      -ms-flex-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: строка;
      flex-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: строка;
    }
     

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ flex-direction: row Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π΅ пСрСопрСдСляСтС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ объявлСниС flex-direction: row являСтся Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ IE10 β€” пСрвая вСрсия IE, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ Flexbox.

    0

    МодСль CSS Flexbox ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Он Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта. Он Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта-ΠΏΡ€Π΅Π΄ΠΊΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Он Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ пространство, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ элСмСнта, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта-ΠΏΡ€Π΅Π΄ΠΊΠ° увСличится. ПовСдСниС Flex-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡ€ΠΈ сТатии ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° свойства min ΠΈ max width/height.

    ВСрсии CSS FlexBox ΠΏΠΎ вСрсии

    W3 2009 : display: box;

     Π½Π°Ρ‡Π°Π»ΠΎ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Ρ€Π°ΠΌΠΊΠ΅ | ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ | протяТСниС
    ΠΏΠΎΠ»Π΅-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ | ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ | Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ
    box-flex <число> 0.0
    ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ°-гибкая-Π³Ρ€ΡƒΠΏΠΏΠ° <Ρ†Π΅Π»ΠΎΠ΅ число> 1
    ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ | нСсколько
    box-ordinal-group  1 Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт
    коробчатая Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ | Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ | встроСнная ось | Π±Π»ΠΎΠΊ-ось | Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π±Π»ΠΎΠΊΠ° встроСнной оси Π½Π΅Ρ‚ Π½Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ
    ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ°-ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° старт | ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Ρ‚ΡŒ
     

    W3 2011: ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ flexbox | inline-flexbox

     flex-align auto | Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ автоматичСский
    flex-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ lr | Ρ€Π» | Π’Π‘ | Π±Ρ‚ | встроСнный | встроСнный ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ | Π±Π»ΠΎΠΊ | ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ flexbox no lr | Ρ€Π» | Π’Π‘ | Π±Ρ‚
    flex-порядок <Ρ†Π΅Π»ΠΎΠ΅> 1
    запуск Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° | ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Ρ‚ΡŒ
     

    W3 2012: гибкий дисплСй | inline-flex

     align-content flex-start | Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | пространство ΠΌΠ΅ΠΆΠ΄Ρƒ | пространство Π²ΠΎΠΊΡ€ΡƒΠ³ | протяТСниС
    Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов flex-start | Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ | протяТСниС
    Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎ | Π³ΠΈΠ±ΠΊΠΈΠΉ старт | Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ | протяТСниС
    строка направлСния гибкости | ряд-ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ | ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° | обратная ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°
    flex-flow <'flex-direction'> || <'гибкая ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°'>
    flex-grow <число> β€˜0’
    flex-shrink <число> β€˜1’
    flex-wrap nowrap | ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ | ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°-обратная
    Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ содСрТания flex-start | Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† | Ρ†Π΅Π½Ρ‚Ρ€ | пространство ΠΌΠ΅ΠΆΠ΄Ρƒ | пространство Π²ΠΎΠΊΡ€ΡƒΠ³
    Π·Π°ΠΊΠ°Π· <Π½ΠΎΠΌΠ΅Ρ€> 0
     

    My Flexbox css: я протСстировал сСрвСрныС устройства с Android 2. 3.3 ΠΈ IOS ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ:

     .flex-container {
            дисплСй: -webkit-box; /* БВАРЫЕ β€” iOS 6-, Safari 3.1-6 */
            дисплСй: -moz-box; /* БВАРЫЙ β€” Firefox 19- (Π³Π»ΡŽΡ‡ΠΈΡ‚, Π½ΠΎ Π² основном Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚) */
            ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -ms-flexbox; /* Π’Π’Π˜ΠΠ•Π  - IE 10 */
            ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: -webkit-flex; /* ΠΠžΠ’Π˜ΠΠšΠ β€” Chrome */
            дисплСй: Π³ΠΈΠ±ΠΊΠΈΠΉ; /* ΠΠžΠ’Π˜ΠΠšΠ, спСцификация β€” Opera 12.1, Firefox 20+ */
            ΡˆΠΈΡ€ΠΈΠ½Π°: 100%;
    }
    .Π²Π΅Ρ‰ΡŒ {
            -Π²Π΅Π±ΠΊΠΈΡ‚-бокс-флСкс: 1; /* БВАРЫЕ β€” iOS 6-, Safari 3.1-6 */
            -moz-box-flex: 1; /* БВАРЫЙ β€” Firefox 19- */
            -Π²Π΅Π±ΠΊΠΈΡ‚-флСкс: 1; /* Π₯Ρ€ΠΎΠΌ */
            -ms-флСкс: 1; /* IE 10 */
            Π³ΠΈΠ±ΠΊΠΈΠΉ: 1; /* ΠΠžΠ’Π˜ΠΠšΠ, спСцификация β€” Opera 12.1, Firefox 20+ */
    }
     

    Π― Π±Ρ‹ посовСтовал ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ: http://dev.w3.org/csswg/css-flexbox/

    Для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ настроСнных @chris-coyier Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» свой пост с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ @hugo -giraudel): http://css-tricks.com/snippets/css/a-guide-to-flexbox/

    ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°: Live (ΠΊΡ€Π΅Π΄ΠΈΡ‚ @chris-coyier просто Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ пост, поэтому ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π»): http://cdpn.