{"id":6736,"date":"2019-04-07T17:23:15","date_gmt":"2019-04-07T15:23:15","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog?p=6736"},"modified":"2025-12-18T21:30:28","modified_gmt":"2025-12-18T20:30:28","slug":"flexbox-ninja-learn-flexbox-with-use-cases","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/en\/css3\/flexbox-ninja-learn-flexbox-with-use-cases","title":{"rendered":"Flexbox\u00b7ninja \u2013\u00a0Learn Flexbox through use cases"},"content":{"rendered":"<p><a href=\"https:\/\/geoffreycrofte.com\/flexbox-ninja\">Flexbox\u00b7ninja<\/a> is a project I started a few years ago and that I had never taken the time to finish and publish. I wanted to propose at least 6 common use cases, but the web people suggested that I publish it with 3 cases and open it to contributions. That&#8217;s done, now let&#8217;s look at it in more detail.<\/p>\n<p><!--more--><\/p>\n<h2>Flexbox: a bit of history<\/h2>\n<p>The project started with the W3C specification more than 10 years ago (oh yes already!). 2 years later, the idea of starting to popularize the functioning of CSS Flexbox came to me because the specification contained a lot of new features that were rather difficult to understand, especially because the syntax was revised several times, but also because browsers had a rather disparate interpretation.<\/p>\n<p>The idea of such a tool to browse examples through common practical cases in the daily life of a web integrator\/front end developer was therefore still valid. This is how <a href=\"https:\/\/geoffreycrofte.com\/flexbox-ninja\">Flexbox\u00b7ninja<\/a> came into being a few weeks ago.<\/p>\n<h2>Flexbox\u00b7ninja: the tool<\/h2>\n<p><a href=\"https:\/\/geoffreycrofte.com\/flexbox-ninja\"><img decoding=\"async\" class=\"alignnone wp-image-6730 size-full\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/04\/flexbox-ninja.png\" alt=\"Flexbox\u00b7ninja website\" width=\"2880\" height=\"1604\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/04\/flexbox-ninja.png 2880w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/04\/flexbox-ninja-300x167.png 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/04\/flexbox-ninja-768x428.png 768w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/04\/flexbox-ninja-600x334.png 600w\" sizes=\"(max-width: 2880px) 100vw, 2880px\" \/><\/a><\/p>\n<p>The name of the site is a little boastful, but it was more for the originality of the domain than for the level of exhaustiveness of the content, knowing that it only includes 3 common examples at the moment.<\/p>\n<p>The way it works is relatively simple, each example is a precise need in a page from which you can access:<\/p>\n<ul>\n<li>the detailled code with 1 possible solution (yes, 1 possible\u2026)<\/li>\n<li>the featured demo<\/li>\n<li>the same demo downloadable<\/li>\n<\/ul>\n<p>The little bonus you can access since some recent weeks is the possibility of downloading the Progressive Web App to your smartphone. Easy for android users, you will need to add it to your homepage manually for iOS users. The advantage is that the content you have already viewed online will remain available offline ;p<\/p>\n<p>Thanks to <a href=\"https:\/\/stephaniewalter.design\">St\u00e9phanie Walter<\/a> for the little cute ninja by the way \ud83d\ude42<\/p>\n<p>That&#8217;s all for this tool.<\/p>\n<h2>Flexbox.ninja&#8217;s roadmap<\/h2>\n<p><a href=\"https:\/\/github.com\/geoffreycrofte\/flexbox.ninja#roadmap\">The roadmap<\/a> is public and available on the <a href=\"https:\/\/github.com\/geoffreycrofte\/flexbox.ninja\">Github repository<\/a> of the project. It includes new coming examples. Among the new ones to be illustrated:<\/p>\n<ul>\n<li><em>Align Icons<\/em> \u2013 or how to align icons in a container.<\/li>\n<li><em>Vertical-Align Content<\/em> \u2013 how to center vertically.<\/li>\n<li><em>Flexible Sidebar<\/em> \u2013 yep, explicit name.<\/li>\n<li><em>Stepper Input<\/em> \u2013 an input of type stepper in some CSS lines of code.<\/li>\n<li><em>Card Group<\/em> \u2013 a group of cards with the same dimension and an automatic wrapping.<\/li>\n<li><em>Flexible Gallery (Masonry)<\/em> \u2013 not sure of the need for that one, will see.<\/li>\n<li><em>Pricing Table<\/em> \u2013 a pricing table with a featured pricing.<\/li>\n<\/ul>\n<p>But if you have examples that you have already coded, you can contribute to the project by respecting the <a href=\"https:\/\/github.com\/geoffreycrofte\/flexbox.ninja#how-to-contribute\">project structure<\/a> also available on this Github readme. You will of course be mentioned as the creator of the example.<\/p>\n<h2>And Grid layout?<\/h2>\n<p>Flexbox at the era of Grid Layout: yes, troll gonna trolls. I&#8217;m waiting for you in the comments \ud83d\ude42<\/p>\n<p>Have fun!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flexbox\u00b7ninja is a project I started a few years ago and that I had never taken the time to finish and publish. I wanted to propose at least 6 common use cases, but the web people suggested that I publish it with 3 cases and open it to contributions. That&#8217;s done, now let&#8217;s look at [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":6733,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"1","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[652],"tags":[793,778,792],"coauthors":[597],"class_list":["post-6736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css3","tag-flexbox-en","tag-pwa-en","tag-resource"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/posts\/6736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/comments?post=6736"}],"version-history":[{"count":3,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/posts\/6736\/revisions"}],"predecessor-version":[{"id":8922,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/posts\/6736\/revisions\/8922"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/media\/6733"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/media?parent=6736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/categories?post=6736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/tags?post=6736"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/en\/wp-json\/wp\/v2\/coauthors?post=6736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}