Það kom snemma í ljós að noktun á visual formatting model með
            position og float var ekki nóg til að gera
            flókin útlit. Sérstaklega getur verið erfitt að nota það til að
            útbúa útlit þar sem hlutir voru jafn háir eða eru miðjaðir lóðrétt
            innan foreldris. Flexbox var búið til með það að leiðjarljósi að
            einfalda gerð flókinna útlita og bjóða upp á
            meiri sveigjanleika.
          
            Í júli 2009 kom fyrsta útgáfa af staðlinum sem kynnti til leiks
            display: box; sem síðan í mars 2011 breyttist í
            display: flexbox; sem að lokum endaði í
            display: flex; árið 2012 þegar fyrsta candidate
            recommendation kom út. Stuðningur við flexbox (með vafraforskeytum)
            er í dag mjög mikill og er aðalleiðin til þess að útbúa útlit
            í dag.
          
            Flexbox er skilgreint með því að setja display eigindið
            display: flex; en þá er element í eðlilegu flæði og
            börnum þess er raðað með flexbox. Einnig er hægt að setja
            display: inline-flex; en þá er element túlkað
            inline í eðlilegu flæði en börnum þess raðað með flexbox.
            Þegar börnum elements er raðað með flexbox er margin á
            alla kanta gleypt með auto, ekki bara lárétt.
          
            Börn elements sem er raðað með flexbox eru kölluð
            flex items. Þau raðast sjálfgefið í þeirri röð sem þau eru skilgreind í
              HTML en við getum
              breytt þeirri röðun með order eigindinu. Hægt er að skilgreina
            order fyrir hvert flex item og er þeim síðan raðað þar
            sem hærri tala raðar flex item seinna. Sjálfgefið gildi er
            order: 0;.
          
            Þegar flexbox er notað til að skilgreina útlit er mikilvægt að gera
            greinarmun á elementi sem hefur
            display: flex; (flexbox/flex container) og börnum þess
            (flexbox/flex items). Það mun ekki virka að skilgreina flexbox
            eigindi fyrir container á flex items en það er hinsvegar hægt að
            láta flex items væra bæði flex item og flex container.
          
17.1 Ásar
Ásar í flexbox.
            Í flexbox eru skilgreindir tveir ásar, aðalás (e. main axis) og
            krossás (e. cross axis) sem eru hornréttir hvorn annan. Með því að
            nota flex-direction getum við skilgreint aðalásin:
          
- 
            
flex-direction: row;, sjálfgefið gildi, aðalás frá vinstri til hægri (eða hægri til vinstri ef texti er lesinn þannig). - 
            
flex-direction: row-reverse;, aðalás frá hægri til vinstri. - 
            
flex-direction: column;, krossás (m.v.row) verður skilgreindur sem aðalás og öfugt. Aðalás frá toppi til botns. - 
            
flex-direction: column-reverse;, eins ogcolumnen aðalás frá botni til tops. 
            Athugið að ekki er skilgreint með heitum á áttum (t.d.
            left) þar sem flexbox á að virka óháð því hvort verið sé að teikna
              útlit þar sem lesið er frá vinstri til hægri, hægri til vinstri
              eða frá toppi niður. Þetta heldur áfram í
              CSS staðli fyrir logical properties
            þar sem búið er að bæta við lógískum heitum við hluti sem hafa beina
            vísun í vídd eða átt. block og inline er
            notað sem grunn hugtök um í hvaða átt texti flæðir ásamt
            start og end, t.d.
            margin-inline-start: 1px; eða
            border-block-start-width: 1px;.
          
            Sjálfgefið er öllum flex itemum troðið á aðalás og þau minnka í
            samræmi til að fá pláss. Hægt er að nota flex-wrap til
            að láta flex item flæða í nýja flex-línu ef ekki er
            nóg pláss:
          
- 
            
flex-wrap: nowrap;, sjálfgefið, ekki flæða í nýja línu. - 
            
flex-wrap: wrap;, ef það er ekki pláss, flæða í nýja línu (vinstri hægri eða hægri vinstri ef texti lesinn þannig). - 
            
flex-wrap: wrap-reverse;, eins og wrap en í öfugri röð. 
17.2 Röðun á ás
            Til að skilgreina hvernig flex item er raðað á aðalás notum við
            justify-content:
          
- 
            
justify-content: flext-start;, sjálfgefið, raðar við byrjun á ás. - 
            
justify-content: flex-end;, raðar við enda á ás. - 
            
justify-content: center;, raðar fyrir miðju áss. - 
            
justify-content: space-between;, dreifir plássi milli flex itema. - 
            
justify-content: space-around;, dreifir plássi milli og utanum flex item. 
Mismunandi röðun með justify-content.
            Staðsetningu innan línu á krossás er skilgreind með
            align-items:
          
- 
            
align-items: stretch;, sjálfgefið, jafnar við stærstu línu. align-items: flex-start;, byrjun línu.align-items: flex-end;, enda línu.align-items: center;, miðju línu.- 
            
align-items: baseline;, jöfnuð við baseline. 
Mismunandi röðun með align-items.
            Með align-self getur hvert og eitt flex item skilgreint
            hvernig það hagar sér m.t.t. align-items.
          
            Til að breyta staðsetningu lína á krossás notum við
            align-content, en það hefur því aðeins áhrif ef
            flex-wrap er ekki no-wrap.
          
- 
            
align-content: stretch;, sjálfgefið, línur teygðar til að taka allt pláss. - 
            
align-content: flext-start;, raðar við byrjun á ás. - 
            
align-content: flex-end;, raðar við enda á ás. - 
            
align-content: center;, raðar fyrir miðju áss. - 
            
align-content: space-between;, dreifir plássi milli flex itema. - 
            
align-content: space-around;, dreifir plássi milli og utanum flex flex item. 
Mismunandi röðun með align-content.
17.3 Stærðir á flex item
            Við getum stýrt því hvernig flex item taka pláss innan flexbox með
            flex-grow, flex-shrink og
            flex-basis.
          
            Við skilgreinum flex-grow með rauntölu, stærri en
            0 og skilgreinir hvernig flex item stækkar, sjálfgefið
            er 0.
          
- 
            Ef öll flex item hafa 
flex-grow: 1;taka þau öll jafnt pláss. - 
            Ef öll hafa 
1en eitt þeirra hefur2mun það taka tvisvar sinnum meira pláss (eins og hægt er) en hin flex item fá jafn mikið af plássi sem eftir er. - 
            Ef aðeins eitt flex item hefur 
flex-growskilgreint mun það taka allt pláss sem önnur flex item þurfa ekki. 
            Við skilgreinum flex-shrink eins og
            flex-grow en það stýrir því hvern flex item minnkar,
            sjálfgefið er 1.
          
            Upprunastærð á flex item er skilgreind með flex-basis,
            þá getum við skilgreint hversu mikið pláss flex item á að taka áður
            en plássi er dreift til flex itema, sjálfgefið er auto.
          
            Þessi þrjú eigindi ætti alltaf að skilgreina með
            flex eigindi en það stillir óskilgreind gildi rétt m.v.
            sett gildi. Í flestum tilfellum ætti að vera nóg að setja
            gildið sem:
          
- 
            
initial, sjálfgefið, flex item minnka ef ekki er nóg pláss en stækka ekki umframwidthogheightgildi sín. - 
            
auto, stærð skv.widthogheighten stækkar til að fá auka pláss í flexboxi. none, flex item stækka hvorki né minnka.- 
            
<tala>, tilgreinir hlutfall sem flex item fær af plássi.