1. flex is a new value of the display property
Therefore, we cannot apply
properties such as display: block, inline or inline-block to the
parent element or its children. Nor can we apply float, clear or
vertical-align. To be precise, we can apply these properties, however they
will not have any effect when the website is displayed in a browser with
flexbox support. But it is useful when creating fallbacks for older
browsers.
2. Margins of flex items will not be collapsed
In relation to the previous point, margins of adjacent items will not be collapsed, unlike when block elements are used.
3. Element positioning can be applied
Element positioning (position: absolute|relative|fixed) can be applied
when using flex items, unlike when the float property is used.
4. visibility: collapse will not be visible
When dealing with flex items, we can apply visibility: collapse the same
way we would apply it when dealing with the display: table-row or
table-column properties. An element will then take up space in the DOM,
however, it will not be visible.
5. The direction of the main axis is always based on the language
The direction of the main axis of a flex container is always based on the
writing-mode. Therefore, if we created a layout of a page in Japanese
using flex box, all values would change their order.
Now let’s dig into the “Reference Guide”. We already know that there are two types of flex elements: a flex container and a flex item. Therefore, we divide the properties according to the element type.
