強い封じ込め。
名前 | contain
|
---|---|
値 | none | strict | content | [size || layout || paint || style] |
初期値 | none |
適用対象 | 下記を見よ |
継承 | されない |
百分率 | 受容しない |
算出値 | キーワード none/[size、layout、paint]のうち、いくつか |
正準的順序 | 文法に従う |
アニメーション型 | アニメート不可 |
contain は CSS のプロパティで、ある要素とその内容が、できる限り多く、文書ツリーの他の部分から独立していることを示します。これによってブラウザーがレイアウト、スタイル、描画、寸法、およびその組み合わせの再計算を、ページ全体ではなく DOM の限られた領域に対して行うことで、性能上の明らかな利点をもたらします。
このプロパティはページ上にそれぞれ独立したたくさんのウィジェットがあるときに有益であり、ウィジェットの内部を、ウィジェットの囲みボックスの外側の副作用から守るために使用することができます。
none
⤴
strict
⤴
content
⤴
注記: contain: content は、適度に広く“安全に”適用される ― 実施におけるその効果は相応に小さなものであり、ほとんどの内容は、その制約に抵触しない。しかしながら、サイズ封じ込めは適用しないので、要素は依然として、その内容のサイズに呼応し、レイアウトを ― 欲されるものより先祖まで遡って ― 無効化する可能性もある。可能なときは、封じ込めをできるだけ得たければ、contain: strict を利用すること。
<DIV style="border:1px solid black"> あああああああああああ<BR> <IMG style="float:left; border:1px solid black" src="Com/1.jpg" alt="画像1"> </DIV> <DIV style="border:1px solid black"> いいいいいいいいいいいいい<BR> <IMG style="float:left; border:1px solid black" src="Com/1.jpg" alt="画像2"> ううううううううううううう<BR> </DIV>
<DIV style="contain:content; border:1px solid red"> あああああああああああ<BR> <IMG style="float:left; border:1px solid black" src="Com/1.jpg" alt="画像1"> </DIV> <DIV style="contain:content; border:1px solid red"> いいいいいいいいいいいいい<BR> <IMG style="float:left; border:1px solid black" src="Com/1.jpg" alt="画像2"> ううううううううううううう<BR> </DIV>
size
⤴
<IMG src="Com/100x50.gif" style="border:1px solid black; width:150px; ">
<IMG src="Com/100x50.gif" style="border:1px solid red; width:150px; contain:size; ">
<IMG src="Com/100x50.gif" style="border:1px solid red; width:150px; height:30px; contain:size; ">
layout
⤴
style
⤴
paint
⤴
contain プロパティは、一般に、すべての要素に適用される( ::before, ::after 疑似要素も含む) ― 一部の種別の封じ込めは、一部の要素に対する効果は無いが。詳細は、封じ込めの種別にて。加えて、[SVG2] の事例においては、このプロパティは、CSS レイアウト ボックスが結び付けられた SVG 要素に限り適用される。
img { width: 100px; aspect-ratio: 1/1; contain: size; }
<img src="https://www.example.com/300x100.jpg">
aspect-ratio プロパティが宣言されていなかった場合、画像のサイズは 100px × 0px になる ― その生来な縦横比は抑止され、生来な縦幅は 0 として扱われるので。
表示内容: |
表示内容: |