非标
此特征是非标准的,且不在标准轨道中。不要在面向 Web 的生产站点中使用它:它不适用于每个用户。实现之间可能存在大的不兼容性,且行为将来可能改变。
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.
box-lines
CSS
property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
/* Keyword values */ box-lines: single; box-lines: multiple; /* Global values */ box-lines: inherit; box-lines: initial; box-lines: unset;
By default a horizontal box will lay out its children in a single row, and a vertical box will lay out its children in a single column. This behavior can be changed using the
box-lines
property. The default value is
single
, which means that all elements will be placed in a single row or column, and any elements that don't fit will simply be considered overflow.
If a value of
multiple
is specified, however, then the box is allowed to expand to multiple lines (that is, multiple rows or columns) in order to accommodate all of its children. The box must attempt to fit its children on as few lines as possible by shrinking all elements down to their minimum widths or heights if necessary.
If the children in a horizontal box still do not fit on a line after being reduced to their minimum widths, then children are moved one by one onto a new line, until the elements remaining on the previous line fit. This process can repeat to an arbitrary number of lines. If a line contains only a single element that doesn't fit, then the element should stay on that line and overflow out of the box. The later lines are placed below the earlier lines in normal direction boxes and above in reverse direction boxes. The height of a line is the height of the largest child in that line. No additional space appears between the lines apart from the margins on the largest elements in each line. For calculating the height of a line, margins with a computed value of auto should be treated as having a value of 0.
A similar process occurs for children in a vertical box. Later lines in normal direction boxes are placed to the right of earlier lines and to the left in reverse direction boxes.
Once the number of lines has been determined, elements with a computed value for
box-flex
other than
0
stretch as necessary in an attempt to fill the remaining space on the lines. Each line computes flexes independently, so only elements on that line are considered when evaluating
box-flex
and
box-flex-groups
. The packing of elements in a line, as specified by the
box-pack
property, is also computed independently for each line.
box-lines
property is specified as one of the keyword values listed below.
single
Box elements lay out in a single row or column.
multiple
Box elements layout in multiple rows or columns.
| 初始值 |
single
|
|---|---|
| 适用于 | box elements |
| 继承 | no |
| 计算值 | 如指定 |
| 动画类型 | discrete |
single | multiple
In the original version of the spec,
box-lines
allowed you to specify that you wanted your flex container's children to wrap onto multiple lines. This was only supported in WebKit-based browsers, with a prefix.
div {
display: box;
box-orient: horizontal;
box-lines: multiple;
}
The modern flexbox equivalent is
flex-wrap
.
Not part of any standard.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
box-lines
弃用
非标
|
Chrome
不支持
1 — 67
Prefixed
|
Edge 不支持 No | Firefox 不支持 No | IE 不支持 No |
Opera
不支持
15 — 54
Prefixed
|
Safari
完整支持
3
Prefixed
|
WebView Android
不支持
≤37 — 67
Prefixed
|
Chrome Android
不支持
18 — 67
Prefixed
|
Firefox Android 不支持 No |
Opera Android
不支持
14 — 48
Prefixed
|
Safari iOS
完整支持
1
Prefixed
|
Samsung Internet Android
不支持
1.0 — 9.0
Prefixed
|
完整支持
不支持
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
要求使用供应商前缀或不同名称。
-moz-context-properties
-moz-float-edge
-moz-force-broken-image-icon
-moz-image-region
-moz-orient
-moz-outline-radius
-moz-outline-radius-bottomleft
-moz-outline-radius-bottomright
-moz-outline-radius-topleft
-moz-outline-radius-topright
-moz-user-focus
-moz-user-input
-webkit-border-before
-webkit-box-reflect
-webkit-line-clamp
-webkit-mask-attachment
-webkit-mask-composite
-webkit-mask-position-x
-webkit-mask-position-y
-webkit-mask-repeat-x
-webkit-mask-repeat-y
-webkit-overflow-scrolling
-webkit-tap-highlight-color
-webkit-text-fill-color
-webkit-text-stroke
-webkit-text-stroke-color
-webkit-text-stroke-width
-webkit-touch-callout
box-align
box-direction
box-flex
box-flex-group
box-lines
box-ordinal-group
box-orient
box-pack