2016-09-10 2 views
2

CSS orderプロパティを使用して、flexboxコンテナ内の要素の順序を変更しています。同一の「順序​​」値を持つ要素は有効ですか?

このリストの末尾にはいくつかの要素がありますので、私はorder: 1000を使用しています。

これらの「終了」要素の順番は気にしませんが、order: 1000の要素がすべて有効であるかどうかはわかりません。

仕様については何も見つかりません。これは有効か法的ですか?

+2

'order'プロパティは整数を受け入れるので、どんな整数も受け入れられると言うのは公正だろうか?デフォルトでは、 'order'プロパティの値は' 0'です。同じ 'order'整数を持つ複数の要素が受け入れられるかどうかを尋ねるなら、答えは" yes "ですか? – justinw

+0

どのような意味で「有効/有効」ですか? –

+0

@torazaburo:私は、CSSのテーブルレイアウトと同じようなものを考えています。ディスプレイ:テーブル行のボックスは決して "法的に"テーブルボックスや行グループボックス以外の親ボックスを持つことはできません。必要に応じて匿名のものが作成されます(CSSはスタイルシートを指し示すことができず、「有効ではありません。表示:テーブル行の宣言はありますが、表の宣言はありません」)。 – BoltClock

答えて

6

プロパティに同じ値を共有する複数の要素が「無効」とみなされる状況はありません。 CSSはこのように妥当性を定義しません。 justinwがコメントで言及しているように、ブラウザのデフォルトやユーザによって別途指定されない限り、すべての要素には少なくともCSSプロパティの初期値があるため、CSSはすべてのプロパティに対してこのシナリオを考慮する必要があります。

orderプロパティの場合、in section 5.4 of the specのように、同じ値の2つのフレックスアイテムがソースの順序に従ってレイアウトされます。つまり、order: 1000の2つのフレックスアイテム(またはorder: 1の2つのフレックスアイテム、さらには初期値0)、ソースマークアップの最初のもの(DOMツリーが後に操作されなかったと仮定して)事実)は、flex-directionで指定された方向に従って、最後に来るものの前に配置されます。

ここでは正確な引用です:同じ序グループ​​と

アイテムは、彼らが元の文書に現れる順番にレイアウトされています。これはフレックスアイテムがソースドキュメント内で並べ替えられたように、painting order [CSS21]にも影響します。

これはz-indexに対して同じ計算値を有する2つの要素が(section 9.9 of CSS2.1を参照)、バック・ツー・フロントソース順序で描かれている方法に類似しています。

+0

私は仕様をよく読まなかったと思います。ありがとうございました! – Markasoftware

2

orderの値は有効ですか?

はい。実際、すべてのフレックスアイテムのデフォルト値はorderです。フレックスコンテナの初期設定はorder: 0です。これは、すべてのフレックスアイテム(1または1000)がオーバーライドされるまで同じorder値を持つことを意味します。

私は、互いに対するこれらの「終わり」の要素の順序を気にしないが、私はorder: 1000で要素の全体の束を持つことが有効であるかはわかりません。

orderの可能な値の上限を打つことについて話している場合は、値がないとみなすことができます。コンテナに5,000個のフレックスアイテムがある場合はどうなりますか?

コンテナに存在できる要素の数には法的な制限はありません。したがって、order値には制限がありません。 5,000アイテムあれば、order: 5000が利用可能でなければなりません。

関連する問題