Web/CSS/box-flex-group

From Get docs

Non-standard This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.


The box-flex-group CSS property assigns the flexbox's child elements to a flex group.

/* <integer> values */
box-flex-group: 1;
box-flex-group: 5;

/* Global values */
box-flex-group: inherit;
box-flex-group: initial;
box-flex-group: unset;

For flexible elements assigned to flex groups, the first flex group is 1 and higher values specify subsequent flex groups. The initial value is 1. When dividing up the box's extra space, the browser first considers all elements within the first flex group. Each element within that group is given extra space based on the ratio of that element's flexibility compared to the flexibility of other elements within the same flex group. If the space of all flexible children within the group has been increased to the maximum, the process repeats for the children within the next flex group, using any space left over from the previous flex group. Once there are no more flex groups, and there is still space remaining, the extra space is divided within the containing box according to the box-pack property.

If the box would overflow after the preferred space of the children has been computed, then space is removed from flexible elements in a manner similar to that used when adding extra space. Each flex group is examined in turn and space is removed according to the ratio of the flexibility of each element. Elements do not shrink below their minimum widths.

Syntax

The box-flex-group property is specified as any positive <integer>.

Formal definition

Initial value 1
Applies to in-flow children of box elements
Inherited no
Computed value as specified
Animation type discrete

Formal syntax

<integer>

Examples

Simple usage example

In the original Flexbox spec, box-flex-group could be used to assign flex children to different groups to distribute flexible space between:

article:nth-child(1) {
  -webkit-box-flex-group: 1;
}

article:nth-child(2) {
  -webkit-box-flex-group: 2;
}

This was only ever supported in WebKit-based browsers, with a prefix, and in subsequent versions of the spec this functionality does not have an equivalent. Instead, distribution of space inside the flex container is now handled using flex-basis, flex-grow, and flex-shrink.

Specifications

Not part of any standard.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

box-flex-group

Deprecated'Non-standard'

Chrome No support 1 — 67

Prefixed'

No support 1 — 67

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Edge

No support No

Firefox

No support No

IE

No support No

Opera No support 15 — 54

Prefixed'

No support 15 — 54

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Safari Full support 3

Prefixed'

Full support 3

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit- No support 1.1 — 3

Prefixed'

Prefixed' Implemented with the vendor prefix: -khtml-

WebView Android No support ≤37 — 67

Prefixed'

No support ≤37 — 67

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Chrome Android No support 18 — 67

Prefixed'

No support 18 — 67

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Firefox Android

No support No

Opera Android No support 14 — 48

Prefixed'

No support 14 — 48

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Safari iOS Full support 1

Prefixed'

Full support 1

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Samsung Internet Android No support 1.0 — 9.0

Prefixed'

No support 1.0 — 9.0

Prefixed'

Prefixed' Implemented with the vendor prefix: -webkit-

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.'
Deprecated. Not for use in new websites.
Requires a vendor prefix or different name for use.'
Requires a vendor prefix or different name for use.


See also