UNPKG

@patternfly/patternfly

Version:

Assets, source, tooling, and content for PatternFly 4

374 lines (357 loc) • 14 kB
--- id: Flex section: utilities --- import './Flex.css' ## Examples ### Basic ```hbs {{#> display display--type="flex"}} Display flex {{/display}} {{#> display display--type="inline-flex"}} Display inline flex {{/display}} ``` ### Direction ```hbs {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex row {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-direction-row"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex row-reverse {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-direction-row-reverse"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex column {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-direction-column"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex column-reverse {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-direction-column-reverse"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} ``` ### Justified content ```hbs {{#> title titleType="h2" title--modifier="pf-m-lg"}} Justify content flex-start {{/title}} {{#> display display--type="flex" display--modifier="pf-u-justify-content-flex-start"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Justify content flex-end {{/title}} {{#> display display--type="flex" display--modifier="pf-u-justify-content-flex-end"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Justify content center {{/title}} {{#> display display--type="flex" display--modifier="pf-u-justify-content-center"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Justify content space-around {{/title}} {{#> display display--type="flex" display--modifier="pf-u-justify-content-space-around"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Justify content space-between {{/title}} {{#> display display--type="flex" display--modifier="pf-u-justify-content-space-between"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} ``` ### Aligned items ```hbs {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align items flex-start {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-items-flex-start"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-md"}}Flex item 2{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-lg"}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align items flex-end {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-items-flex-end"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-md"}}Flex item 2{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-lg"}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align items center {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-items-center"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-md"}}Flex item 2{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-lg"}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align items baseline {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-items-baseline"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-md"}}Flex item 2{{/flex-item}} {{#> flex-item flex-item--modifier="ws-example-u-flex-lg"}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align items stretch {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-items-stretch"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} ``` ### Aligned self ```hbs {{#> display display--type="flex"}} {{#> flex-item flex-item--modifier="pf-u-align-self-flex-start"}} flex-start {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-align-self-center"}} center {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-align-self-flex-end"}} flex end {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-align-self-baseline"}} baseline {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-align-self-stretch"}} stretch {{/flex-item}} {{/display}} ``` ### Aligned content ```hbs {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content flex-start {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-flex-start"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content flex-end {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-flex-end"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content center {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-center"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content space-around {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-space-around"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content space-between {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-space-between"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Align content stretch {{/title}} {{#> display display--type="flex" display--modifier="pf-u-align-content-stretch"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{#> flex-item}}Flex item 4{{/flex-item}} {{#> flex-item}}Flex item 5{{/flex-item}} {{/display}} ``` ### Shrink ```hbs {{#> display display--type="flex"}} {{#> flex-item flex-item--modifier="pf-u-flex-shrink-0"}} Flex shrink 0 {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-shrink-1"}} Flex shrink 1 {{/flex-item}} {{/display}} ``` ### Grow ```hbs {{#> display display--type="flex"}} {{#> flex-item flex-item--modifier="pf-u-flex-grow-0"}} Flex grow 0 {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-grow-1"}} Flex grow 1 {{/flex-item}} {{/display}} ``` ### Basis and none ```hbs {{#> display display--type="flex"}} {{#> flex-item flex-item--modifier="pf-u-flex-basis-0"}} Flex basis 0 {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-basis-auto"}} Flex basis auto {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-basis-none"}} Flex basis none {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-1"}} Flex 1 {{/flex-item}} {{/display}} ``` ### Fill ```hbs {{#> display display--type="flex"}} {{#> flex-item flex-item--modifier="pf-u-flex-none"}} Flex none {{/flex-item}} {{#> flex-item flex-item--modifier="pf-u-flex-fill"}} Flex fill {{/flex-item}} {{/display}} ``` ### Wrap ```hbs {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex wrap {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-wrap"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex no wrap {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-nowrap"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} <br> {{#> title titleType="h2" title--modifier="pf-m-lg"}} Flex wrap reverse {{/title}} {{#> display display--type="flex" display--modifier="pf-u-flex-wrap-reverse"}} {{#> flex-item}}Flex item 1{{/flex-item}} {{#> flex-item}}Flex item 2{{/flex-item}} {{#> flex-item}}Flex item 3{{/flex-item}} {{/display}} ``` ## Documentation ### Overview For these utilities to have effect, the parent element must be set to `display: flex` or `display: inline-flex`. Breakpoint is optional. Breakpoints: base (no breakpoint value), -on-sm, -on-md, -on-lg, -on-xl. **Example .pf-u-flex-row-on-lg** <!-- ## Accessibility | Attribute | Applied to | Outcome | | -- | -- | -- | | `role` or `aria` | `pf-u-flex` | accessibility notes. | --> ### Usage | Class | Applied to | Outcome | | -- | -- | -- | | `.pf-u-flex-direction-row{-on-[breakpoint]}` | `*` | Sets flex-direction: row | | `.pf-u-flex-direction-row-reverse{-on-[breakpoint]}` | `*` | Sets flex-direction: row-reverse | | `.pf-u-flex-direction-column{-on-[breakpoint]}` | `*` | Sets flex-direction: column | | `.pf-u-flex-direction-column-reverse{-on-[breakpoint]}` | `*` | Sets flex-direction: column-reverse | | `.pf-u-justify-content-flex-start{-on-[breakpoint]}` | `*` | Sets justify-content: flex-start | | `.pf-u-justify-content-flex-end{-on-[breakpoint]}` | `*` | Sets justify-content: flex-end | | `.pf-u-justify-content-center{-on-[breakpoint]}` | `*` | Sets justify-content: center | | `.pf-u-justify-content-space-around{-on-[breakpoint]}` | `*` | Sets justify-content: space-around | | `.pf-u-justify-content-space-between{-on-[breakpoint]}` | `*` | Sets justify-content: space-between | | `.pf-u-align-items-flex-start{-on-[breakpoint]}` | `*` | Sets align-items: flex-start | | `.pf-u-align-items-flex-end{-on-[breakpoint]}` | `*` | Sets align-items: flex-start | | `.pf-u-align-items-center{-on-[breakpoint]}` | `*` | Sets align-items: center | | `.pf-u-align-items-baseline{-on-[breakpoint]}` | `*` | Sets align-items: baseline | | `.pf-u-align-items-stretch{-on-[breakpoint]}` | `*` | Sets align-items: stretch | | `.pf-u-align-self-flex-start{-on-[breakpoint]}` | `*` | Sets align-self: flex-start | | `.pf-u-align-self-flex-end{-on-[breakpoint]}` | `*` | Sets align-self: flex-end | | `.pf-u-align-self-center{-on-[breakpoint]}` | `*` | Sets align-self: center | | `.pf-u-align-self-baseline{-on-[breakpoint]}` | `*` | Sets align-self: baseline | | `.pf-u-align-self-stretch{-on-[breakpoint]}` | `*` | Sets align-self: stretch | | `.pf-u-align-content-flex-start{-on-[breakpoint]}` | `*` | Sets align-content: flex-start | | `.pf-u-align-content-flex-end{-on-[breakpoint]}` | `*` | Sets align-content: flex-end | | `.pf-u-align-content-center{-on-[breakpoint]}` | `*` | Sets align-content: center | | `.pf-u-align-content-space-between{-on-[breakpoint]}` | `*` | Sets align-content: space-between | | `.pf-u-align-content-space-around{-on-[breakpoint]}` | `*` | Sets align-content: space-around | | `.pf-u-align-content-stretch{-on-[breakpoint]}` | `*` | Sets align-content: stretch | | `.pf-u-flex-shrink{1 or 0}{-on-[breakpoint]}` | `*` | Sets flex-shrink to 1 or 0 | | `.pf-u-flex-grow{1 or 0}{-on-[breakpoint]}` | `*` | Sets flex-grow to 1 or 0 | | `.pf-u-flex-basis{0 or auto}{-on-[breakpoint]}` | `*` | Sets flex-basis to 0 auto | | `.pf-u-flex-fill{-on-[breakpoint]}` | `*` | Sets flex to 1 1 auto | | `.pf-u-flex-wrap{-on-[breakpoint]}` | `*` | sets flex-wrap: wrap | | `.pf-u-flex-nowrap{-on-[breakpoint]}` | `*` | sets flex-wrap: nowrap | | `.pf-u-flex-wrap-reverse{-on-[breakpoint]}` | `*` | sets flex-wrap: wrap-reverse |