File: contain-style-breaks-003.html

package info (click to toggle)
firefox-esr 140.3.1esr-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 4,539,016 kB
  • sloc: cpp: 7,380,478; javascript: 6,388,099; ansic: 3,710,142; python: 1,393,715; xml: 628,165; asm: 426,918; java: 184,025; sh: 65,742; makefile: 19,302; objc: 13,059; perl: 12,912; yacc: 4,583; cs: 3,846; pascal: 3,352; lex: 1,720; ruby: 1,226; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (52 lines) | stat: -rw-r--r-- 1,272 bytes parent folder | download | duplicates (26)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!doctype html>
<html lang=en>
  <meta charset=utf-8>
  <title>CSS-contain test: style containment and break-inside:avoid</title>
  <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
  <meta name=flags content="">
  <meta name=assert content="style containment is not (any longer) supposed to have any effect on the break-inside property. Same as -001, applying break-inside on the parent.">
  <link rel="match" href="reference/contain-style-breaks-001-ref.html">
  <link rel=help href="https://drafts.csswg.org/css-contain-1/#containment-style">

<style>
article {
  columns: 2 1ch;
  column-gap: 0;
  float: left;
  font-family: monospace;
  margin-right: 3em;
}
article > div {
  page-break-inside: avoid;
  break-inside: avoid;
}
#test div > div {
  contain: style;
}
</style>

<p>Test passes if there are two identical blocks “A” letters below.
<article id=ref>
  <div>
    <div>
    A<br>
    A<br>
    A<br>
    A
    <div>
  </div>
</article>
<article id=test>
  <div>
    <div>
    A<br>
    A<br>
    A<br>
    A
    <div>
  </div>
</article>
<!--
Having two blocks to avoid making browsers that don't support the property at all fail.
Since containment is supposed to have no effect, failing such browsers would not be useful.
-->