What is flexbox?
Flexbox as specified in the W3C Specification :
The specification describes a CSS window model optimized for user interface design. In the model of the flexible layout, the children of the flexible container can be laid out in any direction and can “bend” their sizes, either increasing to fill the unused space, or reduce to avoid overflowing the parent. Both horizontal and vertical alignment of children can be easily manipulated. The nesting of these boxes (horizontally inside the vertical or vertically inside the horizontal) can be used to build layouts in two dimensions.
It is worth noting that flexbox is not only one property, but also a whole module with many properties that affect the flow and positioning of elements inside the parent element (usually a kind of wrapper div), once it is defined as a flexible container. This is done using display: flex .

Resources on flexbox:
Benefits
Flebox allows us to have more control over the aligment and behavior of box / divs / page elements when changing screen sizes or device orientation.
Without flexbox methods to achieve a flexible layout:
floats - basically hack since its initial use allows you to allow parts of the content to change position without removing them from the document flow (i.e. positioning images around the text). They are mainly used for horizontal stacking, often in combination with media queries and clearfix hack.
relative units (% or em) for calibration - in most cases work well for horizontal layout, but have no or less control for vertical alignment.
media queries - used in combination with the top MQ methods make the main RWD element, but in more complex cases, as a rule, they become messy, since each request must contain all the properties that affect the size and position of the element we want to adjust (width , height, padding, margins, display, etc.).
javascript - dynamically changing properties of elements based on other variables. Also, a hacker solution, often not very clean, is taxed on page size and performance, and also depends on JS.
Flexbox, in particular, is a “shorthand” combination of the above methods, but it also has three distinct advantages :
- setting flexible width / height of elements depending on available space
- both vertical and horizontal centering without any hacks and workarounds
- Change the order of elements within the layout without affecting the layout and structure of the document (using either the
order property or flex-flow ).
For more specific examples, please check the links listed at the end of this answer.
Browser Syntax and Support
Over time, where significant changes have occurred with respect to the flexbox syntax for different browsers, which are well described in this article , but with widespread use of prefixes such as autoprefixer , we can simply adhere to the latest standard syntax and automate the prefix (autoprefixer offers a definition option of how far back we want to go regarding browser support).
However, flexbox is supported in all major browsers except IE 9 and below. Opera supports flexbox from version 12.1 and does not offer support in Opera Mini (what a shock). For many existing sites, using flexbox probably means a lot of work for limited benefits, but with less usage of IE 8 and 9, flexbox will grow.
When and how should I use?
As indicated in this article, flexbox is not intended to create full page layouts (for this purpuse there is a css grid that currently works and works quite funny, only IE is supported), but for managing small individual components such as navigation and side elements.
At the moment, you can probably find support through the modernizer and make a backup for IE lte 9 or go backwards, adhering to the universal principles of work and expand them to offer the best experience in browsers that can handle it (I would recommend the latter) . As always, this will depend on the specific requirements of the project and the profile of visitors, if flexbox will be used at all or not.
Examples of using
I don't have real examples of using flexbox, but here are some links for use cases that are easily resolvable with flexbox: