要素内容だけ隠す/表示。
名前 | content-visibility
|
---|---|
値 | visible | auto | hidden |
初期値 | visible |
適用対象 | レイアウト封じ込めを適用できる要素 |
継承 | されない |
百分率 | 受容しない |
算出値 | 指定値 |
正準的順序 | 文法に従う |
アニメーション型 | アニメート不可 |
content-visibility プロパティは、要素は自身の内容すべてを描画するかしないかを制御する。それは、一連の強い封じ込めを強制するとともに、[巨大な一帯を成す[レイアウト/描画]の作業を、必要なるまで省略可能にする]ことを、ユーザー エージェントに許容する。
各種 値の意味は:
visible
開始<SPAN style="border:1px solid red; content-visibility:visible; ">テスト</SPAN>終了
開始<DIV style="border:1px solid red; content-visibility:visible; ">テスト</DIV>終了
hidden
飛ばされた内容は、次を可能にしないものとする :
auto
hidden と違って、飛ばされた内容であっても、通常どおり次を可能にするものとする :
開始<SPAN style="border:1px solid red; content-visibility:auto; ">テスト</SPAN>終了
開始<DIV style="border:1px solid red; content-visibility:auto; ">テスト</DIV>終了
要素の内容を飛ばすときは、その[レイアウト封じ込め、スタイル封じ込め、塗り封じ込め、サイズ封じ込め]をオンにする。【これが contain の算出値や使用値に影響するわけではないようだ(そのような記述は無い)。】更に、その 内容(要素の子孫(テキストも要素も含む)が成す平坦ツリー、および置換要素の置換される内容 )は、塗られなくなり( visibility:hidden にされていたかのように)、接触判定にも応答しなくなる( pointer-events:none にされていたかのように)。
ユーザー エージェントは、飛ばされた内容に対しては、追加の[レイアウト/描画]作業を可能な限り避けるべきである。強力な封じ込めとの組み合せにより、内容を不可視かつアクセス不能にすることは、強力な最適化を可能化する。当の描画作業を以前に済ませていた場合、ユーザー エージェントは、そのときに算出したレイアウト状態を ― 飛ばされた内容を、後の時点で素早く表示できるよう ― 可能なら維持するべきである。
content-visibility:auto の事例では、要素【の内容】は飛ばされなくても、[レイアウト封じ込め、スタイル封じ込め、塗り封じ込め]は持続することに注意。要素【の内容】が飛ばされるか否かが変化するに伴い、封じ込めも変化すると、レイアウト変化を被ることになる ― これは、そうなるのを防止するために行われる。
要素は、次に挙げるいずれかの条件を満たすならば、利用者に関連する とされる:
¶以下省く
表示内容: |
表示内容: |