Flexbox

jest metodą (zbiorem nowych własciwości) do budowy layoutu wprowadzoną wraz z CSS w wersji 3 (CSS3). Powstał w odpowiedzi na potrzebę pozyskania "narzędzia" do tworzenia układów stron. Do tej pory developerzy (programiści) wykorzystywali do tego różnego rodzaju właściwości elementów (np.

float

), które nie były tworzone z myślą o takim wykorzystaniu.

Podstawą dla podejścia flexbox jest

kontener

, wewnątrz którego zarządzamy elementami i sposobem ich ułożenia. Sposób jego wyświetlania deklarujemy za pomocą właściwości

display

.

Oprócz dotychczasowych właściwości (

block

,

inline

,

none

, ...) doszły 2 nowe wartości:

-

flex

jest to blokowy typ kontenera, który zajmuje zawsze 100% dostępnej szerokości,

-

inline-flex

jest to kontener liniowy, czyli zajmuje tyle przestrzeni ile potrzebuje by wyświetlić zawartość.

Elementy HTML z powyższymi wartościami dają możliwość zarządzania elementami zagnieżdżonymi w nim wg podejścia Flexbox.

Model Flexbox

został stworzony właśnie z myślą o budowie szkieletów (układów) stron www.

<div class="hero">

        <h1>Basic layout</h1>

    </div>

    <div class="main-container">

        <h2>Exercise</h2>

        <div class="container">

        <div class="header"></div>

        <div class="sidebar"></div>

        <div class="content"></div>

        <div class="footer"></div>



        </div>

        Czas na właściwości kontenera.

Chcemy żeby wyświetlał się jako element blokowy i pozwalał na użycie flexbox. Wykorzystamy do tego wartość

flex

z poprzednich lekcji, przypisaną do właściwości

display

. Sprawia ona, że elementy wewnątrz kontenera są traktowane jako elastyczne obiekty w ramach modelu flexbox.

Drugą, istotną dla nas właściwością, będzie

flex-wrap

. Domyślnie ma wartość

nowrap

co oznacza że wiersze nie są zawijane. Co za tym idzie wszystkie elementy są wyświetlane jednym ciągiem (w poziomie lub pionie), bez "łamania" linii.

Jeżeli ustawimy

flex-wrap: wrap;

, elementy będą przenoszone do kolejnego wiersza, jeżeli będzie to konieczne.

results matching ""

    No results matching ""