Browsers that implement display:box / display:flexbox and display:flex hardly support @supports . Also, until yesterday, Firefox did not support flex-wrap . Meanwhile, Internet Explorer 11, supporting display:flex , does not support @supports .
So, you'd better use a JavaScript solution like Modernizr, or just assume that the browser supports display:flex if your users can use Firefox / Chrome on any platform or MSIE11 on Windows 8. If you want to support iPhone, remember the prefix properties and flexibility -webkit- and use display:-webkit-flex .
Since flexbox automatically overrides the float, and the flex property allows you to override the width, maybe you can just mix CSS for display:flex browsers with those that do.
source share