@webref/css 5.4.4 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/CSS.json +450 -21
  3. package/README.md +4 -4
  4. package/SVG.json +42 -35
  5. package/compat.json +111 -75
  6. package/compositing.json +101 -12
  7. package/css-align.json +300 -30
  8. package/css-anchor.json +177 -19
  9. package/css-animations-2.json +37 -15
  10. package/css-animations.json +155 -31
  11. package/css-backgrounds-4.json +107 -32
  12. package/css-backgrounds.json +426 -59
  13. package/css-box.json +243 -20
  14. package/css-break.json +292 -11
  15. package/css-cascade-6.json +22 -13
  16. package/css-cascade.json +50 -15
  17. package/css-color-5.json +320 -35
  18. package/css-color-adjust.json +75 -8
  19. package/css-color.json +1100 -61
  20. package/css-conditional-4.json +11 -6
  21. package/css-conditional-5.json +38 -19
  22. package/css-conditional.json +28 -15
  23. package/css-contain-3.json +101 -26
  24. package/css-contain.json +71 -6
  25. package/css-content.json +291 -30
  26. package/css-counter-styles.json +455 -18
  27. package/css-display.json +250 -19
  28. package/css-easing.json +137 -25
  29. package/css-env.json +61 -6
  30. package/css-exclusions.json +65 -6
  31. package/css-extensions.json +20 -12
  32. package/css-flexbox.json +132 -11
  33. package/css-fonts-5.json +255 -13
  34. package/css-fonts.json +886 -74
  35. package/css-gcpm-4.json +30 -5
  36. package/css-gcpm.json +76 -15
  37. package/css-grid-3.json +10 -9
  38. package/css-grid.json +442 -42
  39. package/css-highlight-api.json +13 -5
  40. package/css-images-4.json +221 -68
  41. package/css-images-5.json +40 -0
  42. package/css-images.json +278 -33
  43. package/css-inline.json +525 -16
  44. package/css-layout-api.json +20 -0
  45. package/css-line-grid.json +80 -7
  46. package/css-lists.json +176 -21
  47. package/css-logical.json +125 -50
  48. package/css-masking.json +330 -47
  49. package/css-multicol-2.json +32 -5
  50. package/css-multicol.json +84 -13
  51. package/css-namespaces.json +15 -10
  52. package/css-nav.json +63 -7
  53. package/css-nesting.json +15 -0
  54. package/css-overflow-4.json +83 -10
  55. package/css-overflow.json +239 -18
  56. package/css-overscroll.json +110 -9
  57. package/css-page-floats.json +188 -16
  58. package/css-page.json +262 -67
  59. package/css-paint-api.json +8 -5
  60. package/css-position.json +269 -16
  61. package/css-properties-values-api.json +9 -7
  62. package/css-pseudo.json +67 -0
  63. package/css-regions.json +8 -7
  64. package/css-rhythm.json +69 -10
  65. package/css-round-display.json +47 -10
  66. package/css-ruby.json +137 -8
  67. package/css-scoping.json +27 -0
  68. package/css-scroll-anchoring.json +20 -5
  69. package/css-scroll-snap-2.json +272 -10
  70. package/css-scroll-snap.json +218 -29
  71. package/css-scrollbars.json +41 -6
  72. package/css-shadow-parts.json +8 -5
  73. package/css-shapes-2.json +190 -43
  74. package/css-shapes.json +130 -36
  75. package/css-size-adjust.json +26 -5
  76. package/css-sizing-4.json +404 -23
  77. package/css-sizing.json +231 -12
  78. package/css-speech.json +619 -35
  79. package/css-syntax.json +193 -92
  80. package/css-tables.json +10 -9
  81. package/css-text-4.json +800 -40
  82. package/css-text-decor-4.json +394 -23
  83. package/css-text-decor.json +159 -14
  84. package/css-text.json +371 -20
  85. package/css-transforms-2.json +177 -40
  86. package/css-transforms.json +137 -45
  87. package/css-transitions.json +33 -14
  88. package/css-ui.json +437 -42
  89. package/css-values-5.json +99 -14
  90. package/css-values.json +654 -146
  91. package/css-variables.json +12 -7
  92. package/css-view-transitions.json +45 -7
  93. package/css-will-change.json +36 -7
  94. package/css-writing-modes.json +141 -10
  95. package/fill-stroke.json +290 -35
  96. package/filter-effects-2.json +6 -5
  97. package/filter-effects.json +109 -45
  98. package/fullscreen.json +15 -0
  99. package/mathml-core.json +10 -9
  100. package/mediaqueries-5.json +505 -52
  101. package/mediaqueries.json +307 -40
  102. package/motion.json +99 -16
  103. package/package.json +1 -1
  104. package/scroll-animations.json +225 -24
  105. package/selectors.json +368 -30
  106. package/svg-strokes.json +8 -7
  107. package/upgrade-insecure-requests.json +26 -0
  108. package/html.json +0 -19
@@ -3,11 +3,19 @@
3
3
  "title": "CSS Custom Highlight API Module Level 1",
4
4
  "url": "https://drafts.csswg.org/css-highlight-api-1/"
5
5
  },
6
- "properties": {},
7
- "atrules": {},
8
- "valuespaces": {
9
- "<custom-highlight-name>": {
6
+ "properties": [],
7
+ "atrules": [],
8
+ "selectors": [
9
+ {
10
+ "name": "::highlight(<custom-highlight-name>)",
10
11
  "prose": "The ::highlight(<custom-highlight-name>) pseudo-element (also known as the custom highlight pseudo-element) represents the portion of a document that is being contained or partially contained in all the ranges of the registered custom highlight with the custom highlight name <custom-highlight-name>, if any. <custom-highlight-name> must be a valid CSS <ident-token>."
11
12
  }
12
- }
13
+ ],
14
+ "values": [
15
+ {
16
+ "name": "<custom-highlight-name>",
17
+ "prose": "The ::highlight(<custom-highlight-name>) pseudo-element (also known as the custom highlight pseudo-element) represents the portion of a document that is being contained or partially contained in all the ranges of the registered custom highlight with the custom highlight name <custom-highlight-name>, if any. <custom-highlight-name> must be a valid CSS <ident-token>.",
18
+ "type": "type"
19
+ }
20
+ ]
13
21
  }
package/css-images-4.json CHANGED
@@ -3,23 +3,8 @@
3
3
  "title": "CSS Images Module Level 4",
4
4
  "url": "https://drafts.csswg.org/css-images-4/"
5
5
  },
6
- "properties": {
7
- "object-view-box": {
8
- "name": "object-view-box",
9
- "value": "none | <basic-shape-rect>",
10
- "initial": "none",
11
- "appliesTo": "replaced elements",
12
- "inherited": "no",
13
- "percentages": "n/a",
14
- "computedValue": "specified keyword, or computed function",
15
- "canonicalOrder": "per grammar",
16
- "animationType": "as if possible, otherwise discrete",
17
- "styleDeclaration": [
18
- "object-view-box",
19
- "objectViewBox"
20
- ]
21
- },
22
- "object-fit": {
6
+ "properties": [
7
+ {
23
8
  "name": "object-fit",
24
9
  "value": "fill | none | [contain | cover] || scale-down",
25
10
  "initial": "fill",
@@ -29,12 +14,44 @@
29
14
  "computedValue": "specified keyword(s)",
30
15
  "canonicalOrder": "per grammar",
31
16
  "animationType": "discrete",
17
+ "values": [
18
+ {
19
+ "name": "fill",
20
+ "prose": "The replaced content is sized to fill the element’s content box: the object’s concrete object size is the element’s used width and height.",
21
+ "type": "value",
22
+ "value": "fill"
23
+ },
24
+ {
25
+ "name": "none",
26
+ "prose": "The replaced content is not resized to fit inside the element’s content box: determine the object’s concrete object size using the default sizing algorithm with no specified size, and a default object size equal to the replaced element’s used width and height.",
27
+ "type": "value",
28
+ "value": "none"
29
+ },
30
+ {
31
+ "name": "contain",
32
+ "prose": "The replaced content is sized to maintain its aspect ratio while fitting within the element’s content box: its concrete object size is resolved as a contain constraint against the element’s used width and height. If the scale-down flag is used, size the content as if none or contain were specified, whichever would result in a smaller concrete object size.",
33
+ "type": "value",
34
+ "value": "contain"
35
+ },
36
+ {
37
+ "name": "cover",
38
+ "prose": "The replaced content is sized to maintain its aspect ratio while filling the element’s entire content box: its concrete object size is resolved as a cover constraint against the element’s used width and height. If the scale-down flag is used, size the content as if none or cover were specified, whichever would result in a smaller concrete object size.",
39
+ "type": "value",
40
+ "value": "cover"
41
+ },
42
+ {
43
+ "name": "scale-down",
44
+ "prose": "Equivalent to contain scale-down.",
45
+ "type": "value",
46
+ "value": "scale-down"
47
+ }
48
+ ],
32
49
  "styleDeclaration": [
33
50
  "object-fit",
34
51
  "objectFit"
35
52
  ]
36
53
  },
37
- "image-resolution": {
54
+ {
38
55
  "name": "image-resolution",
39
56
  "value": "[ from-image || <resolution> ] && snap?",
40
57
  "initial": "1dppx",
@@ -44,107 +61,243 @@
44
61
  "computedValue": "specified keyword(s) and/or <resolution> (possibly adjusted for snap, see below)",
45
62
  "canonicalOrder": "per grammar",
46
63
  "animationType": "discrete",
64
+ "values": [
65
+ {
66
+ "name": "<resolution>",
67
+ "prose": "Specifies the preferred resolution explicitly. A \"dot\" in this case corresponds to a single image pixel.",
68
+ "type": "value",
69
+ "value": "<resolution>"
70
+ },
71
+ {
72
+ "name": "from-image",
73
+ "prose": "The image’s preferred resolution is taken as that specified by the image format (the natural resolution). If the image does not specify its own resolution, the explicitly specified resolution is used (if given), else it defaults to 1dppx.",
74
+ "type": "value",
75
+ "value": "from-image"
76
+ },
77
+ {
78
+ "name": "snap",
79
+ "prose": "If the \"snap\" keyword is provided, the computed <resolution> (if any) is the specified resolution rounded to the nearest value that would map one image pixel to an integer number of device pixels. If the resolution is taken from the image, then the used natural resolution is the image’s native resolution similarly adjusted.",
80
+ "type": "value",
81
+ "value": "snap"
82
+ }
83
+ ],
47
84
  "styleDeclaration": [
48
85
  "image-resolution",
49
86
  "imageResolution"
50
87
  ]
51
88
  }
52
- },
53
- "atrules": {},
54
- "valuespaces": {
55
- "<image-set()>": {
56
- "prose": "Delivering the most appropriate image resolution for a user’s device can be a difficult task. Ideally, images should be in the same resolution as the device they’re being viewed in, which can vary between users. However, other factors can factor into the decision of which image to send; for example, if the user is on a slow mobile connection, they may prefer to receive lower-res images rather than waiting for a large proper-res image to load. The image-set() function allows an author to ignore most of these issues, simply providing multiple resolutions of an image and letting the UA decide which is most appropriate in a given situation.",
57
- "value": "image-set( <image-set-option># )"
58
- },
59
- "<type()>": {
60
- "value": "type( <string> )"
61
- },
62
- "<repeating-linear-gradient()>": {
63
- "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously."
64
- },
65
- "<repeating-radial-gradient()>": {
66
- "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously."
67
- },
68
- "<repeating-conic-gradient()>": {
69
- "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously."
70
- },
71
- "<-webkit-image-set()>": {
72
- "prose": "Implementations must accept -webkit-image-set() as a parse-time alias of image-set(). (It’s a valid value, with identical arguments to image-set(), and is turned into image-set() during parsing.)"
73
- },
74
- "<image>": {
89
+ ],
90
+ "atrules": [],
91
+ "selectors": [],
92
+ "values": [
93
+ {
94
+ "name": "<image>",
95
+ "type": "type",
75
96
  "value": "<url> | <image()> | <image-set()> | <cross-fade()> | <element()> | <gradient>"
76
97
  },
77
- "<image-set-option>": {
98
+ {
99
+ "name": "image-set()",
100
+ "prose": "Delivering the most appropriate image resolution for a user’s device can be a difficult task. Ideally, images should be in the same resolution as the device they’re being viewed in, which can vary between users. However, other factors can factor into the decision of which image to send; for example, if the user is on a slow mobile connection, they may prefer to receive lower-res images rather than waiting for a large proper-res image to load. The image-set() function allows an author to ignore most of these issues, simply providing multiple resolutions of an image and letting the UA decide which is most appropriate in a given situation.",
101
+ "type": "function",
102
+ "value": "image-set( <image-set-option># )",
103
+ "values": [
104
+ {
105
+ "name": "type()",
106
+ "value": "type( <string> )",
107
+ "type": "function"
108
+ }
109
+ ]
110
+ },
111
+ {
112
+ "name": "<image-set-option>",
113
+ "type": "type",
78
114
  "value": "[ <image> | <string> ] [ <resolution> || type(<string>) ]"
79
115
  },
80
- "<image()>": {
116
+ {
117
+ "name": "image()",
118
+ "type": "function",
81
119
  "value": "image( <image-tags>? [ <image-src>? , <color>? ]! )"
82
120
  },
83
- "<image-tags>": {
121
+ {
122
+ "name": "<image-tags>",
123
+ "type": "type",
84
124
  "value": "[ ltr | rtl ]"
85
125
  },
86
- "<image-src>": {
126
+ {
127
+ "name": "<image-src>",
128
+ "type": "type",
87
129
  "value": "[ <url> | <string> ]"
88
130
  },
89
- "<cross-fade()>": {
131
+ {
132
+ "name": "cross-fade()",
133
+ "type": "function",
90
134
  "value": "cross-fade( <cf-image># )"
91
135
  },
92
- "<cf-image>": {
136
+ {
137
+ "name": "<cf-image>",
138
+ "type": "type",
93
139
  "value": "<percentage [0,100]>? && [ <image> | <color> ]"
94
140
  },
95
- "<element()>": {
141
+ {
142
+ "name": "element()",
143
+ "type": "function",
96
144
  "value": "element( <id-selector> )"
97
145
  },
98
- "<gradient>": {
146
+ {
147
+ "name": "<gradient>",
148
+ "type": "type",
99
149
  "value": "[ <linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()> | <repeating-conic-gradient()> ]"
100
150
  },
101
- "<linear-gradient()>": {
151
+ {
152
+ "name": "linear-gradient()",
153
+ "type": "function",
102
154
  "value": "linear-gradient( [ <angle> | to <side-or-corner> ]? || <color-interpolation-method>, <color-stop-list> )"
103
155
  },
104
- "<side-or-corner>": {
156
+ {
157
+ "name": "<side-or-corner>",
158
+ "type": "type",
105
159
  "value": "[left | right] || [top | bottom]"
106
160
  },
107
- "<radial-gradient()>": {
161
+ {
162
+ "name": "radial-gradient()",
163
+ "type": "function",
108
164
  "value": "radial-gradient( [[ <ending-shape> || <size> ]? [ at <position> ]? ] || <color-interpolation-method>, <color-stop-list> )"
109
165
  },
110
- "<conic-gradient()>": {
111
- "value": "conic-gradient( [ [ from <angle> ]? [ at <position> ]? ] || <color-interpolation-method>, <angular-color-stop-list> )"
166
+ {
167
+ "name": "conic-gradient()",
168
+ "type": "function",
169
+ "value": "conic-gradient( [ [ from <angle> ]? [ at <position> ]? ] || <color-interpolation-method>, <angular-color-stop-list> )",
170
+ "values": [
171
+ {
172
+ "name": "<angle>",
173
+ "prose": "The entire gradient is rotated by this angle. If omitted, defaults to 0deg. The unit identifier may be omitted if the <angle> is zero.",
174
+ "type": "value",
175
+ "value": "<angle>"
176
+ },
177
+ {
178
+ "name": "<position>",
179
+ "prose": "Determines the gradient center of the gradient. The <position> value type (which is also used for background-position) is defined in [CSS-VALUES-3], and is resolved using the center-point as the object area and the gradient box as the positioning area. If this argument is omitted, it defaults to center.",
180
+ "type": "value",
181
+ "value": "<position>"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "name": "repeating-linear-gradient()",
187
+ "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "name": "repeating-radial-gradient()",
192
+ "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
193
+ "type": "function"
194
+ },
195
+ {
196
+ "name": "repeating-conic-gradient()",
197
+ "prose": "In addition to linear-gradient(), radial-gradient(), and conic-gradient(), this specification defines repeating-linear-gradient(), repeating-radial-gradient(), and repeating-conic-gradient() values. These notations take the same values and are interpreted the same as their respective non-repeating siblings defined previously.",
198
+ "type": "function",
199
+ "values": [
200
+ {
201
+ "name": "<angle>",
202
+ "prose": "The entire gradient is rotated by this angle. If omitted, defaults to 0deg. The unit identifier may be omitted if the <angle> is zero.",
203
+ "type": "value",
204
+ "value": "<angle>"
205
+ },
206
+ {
207
+ "name": "<position>",
208
+ "prose": "Determines the gradient center of the gradient. The <position> value type (which is also used for background-position) is defined in [CSS-VALUES-3], and is resolved using the center-point as the object area and the gradient box as the positioning area. If this argument is omitted, it defaults to center.",
209
+ "type": "value",
210
+ "value": "<position>"
211
+ }
212
+ ]
112
213
  },
113
- "<color-stop-list>": {
214
+ {
215
+ "name": "<color-stop-list>",
216
+ "type": "type",
114
217
  "value": "<linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#"
115
218
  },
116
- "<linear-color-stop>": {
219
+ {
220
+ "name": "<linear-color-stop>",
221
+ "type": "type",
117
222
  "value": "<color> && <color-stop-length>?"
118
223
  },
119
- "<linear-color-hint>": {
224
+ {
225
+ "name": "<linear-color-hint>",
226
+ "type": "type",
120
227
  "value": "<length-percentage>"
121
228
  },
122
- "<color-stop-length>": {
229
+ {
230
+ "name": "<color-stop-length>",
231
+ "type": "type",
123
232
  "value": "<length-percentage>{1,2}"
124
233
  },
125
- "<angular-color-stop-list>": {
234
+ {
235
+ "name": "<angular-color-stop-list>",
236
+ "type": "type",
126
237
  "value": "<angular-color-stop> , [ <angular-color-hint>? , <angular-color-stop> ]#"
127
238
  },
128
- "<angular-color-stop>": {
239
+ {
240
+ "name": "<angular-color-stop>",
241
+ "type": "type",
129
242
  "value": "<color> && <color-stop-angle>?"
130
243
  },
131
- "<angular-color-hint>": {
244
+ {
245
+ "name": "<angular-color-hint>",
246
+ "type": "type",
132
247
  "value": "<angle-percentage>"
133
248
  },
134
- "<color-stop-angle>": {
249
+ {
250
+ "name": "<color-stop-angle>",
251
+ "type": "type",
135
252
  "value": "<angle-percentage>{1,2}"
136
253
  },
137
- "<color-stop>": {
254
+ {
255
+ "name": "<color-stop>",
256
+ "type": "type",
138
257
  "value": "<color-stop-length> | <color-stop-angle>"
139
258
  },
140
- "<1d-image>": {
259
+ {
260
+ "name": "<image-1D>",
261
+ "prose": "While <image> values represent a 2-dimensional (2D) image, and <color> can be thought of as a 0-dimensional (0D) image (unvarying in either axis), some contexts require a 1-dimensional (1D) image, which specifies colors along an abstract, directionless, single-axis paint line. The <image-1D> type represents such 1D images, including the stripes() functional notation:",
262
+ "type": "type",
141
263
  "value": "<stripes()>"
142
264
  },
143
- "<stripes()>": {
144
- "value": "stripes( <color-stripe># )"
265
+ {
266
+ "name": "stripes()",
267
+ "prose": "The stripes() function defines a 1D image as a comma-separated list of colored stripes, each placed end-to-end on the paint line in the order given.",
268
+ "type": "function",
269
+ "value": "stripes( <color-stripe># )",
270
+ "values": [
271
+ {
272
+ "name": "<percentage [0,100]>",
273
+ "prose": "Percentage thicknesses are relative to the total width. Only values between 0% and 100% (inclusive) are valid.",
274
+ "type": "value",
275
+ "value": "<percentage [0,100]>"
276
+ },
277
+ {
278
+ "name": "<length [0,∞]>",
279
+ "prose": "Negative length values are invalid.",
280
+ "type": "value",
281
+ "value": "<length [0,∞]>"
282
+ },
283
+ {
284
+ "name": "<flex>",
285
+ "prose": "A <flex> is evaluated as a fraction of the total width relative to the total sum of <flex> entries in the function, after subtracting the thickness of any non-<flex> entries (flooring the subtraction result at zero). If the sum of <flex> values is less than 1fr, the result of the subtraction is multiplied by the sum’s value before being distributed.",
286
+ "type": "value",
287
+ "value": "<flex>"
288
+ }
289
+ ]
145
290
  },
146
- "<color-stripe>": {
291
+ {
292
+ "name": "<color-stripe>",
293
+ "prose": "Each <color-stripe> entry defines a solid-color stripe with the specified <color> and thickness. If the thickness is omitted, it defaults to 1fr. Thickness values are intepreted as follows:",
294
+ "type": "type",
147
295
  "value": "<color> && [ <length-percentage> | <flex> ]?"
296
+ },
297
+ {
298
+ "name": "-webkit-image-set()",
299
+ "prose": "Implementations must accept -webkit-image-set() as a parse-time alias of image-set(). (It’s a valid value, with identical arguments to image-set(), and is turned into image-set() during parsing.)",
300
+ "type": "function"
148
301
  }
149
- }
302
+ ]
150
303
  }
@@ -0,0 +1,40 @@
1
+ {
2
+ "spec": {
3
+ "title": "CSS Images Module Level 5",
4
+ "url": "https://drafts.csswg.org/css-images-5/"
5
+ },
6
+ "properties": [
7
+ {
8
+ "name": "object-view-box",
9
+ "value": "none | <basic-shape-rect>",
10
+ "initial": "none",
11
+ "appliesTo": "replaced elements",
12
+ "inherited": "no",
13
+ "percentages": "n/a",
14
+ "computedValue": "specified keyword, or computed function",
15
+ "canonicalOrder": "per grammar",
16
+ "animationType": "as if possible, otherwise discrete",
17
+ "values": [
18
+ {
19
+ "name": "none",
20
+ "prose": "The element does not have a view box.",
21
+ "type": "value",
22
+ "value": "none"
23
+ },
24
+ {
25
+ "name": "<basic-shape-rect>",
26
+ "prose": "If the element does not have both a natural width and a natural height, this value has no effect, similar to none. Otherwise, specifies a view box for the element. First, resolve the <basic-shape-rect> against a reference box formed by the element’s natural sizes to obtain the element’s view box. For all purposes, the element is now treated as having natural sizes equal to the view box’s width and height. If the element had a natural aspect ratio, it’s now treated as instead having the same ratio as the view box. Further adjustments to the size/position of the element’s contents, such as object-position or object-fit, are similarly performed on the view box instead. When the element is painted, its contents are scaled and translated such that the element’s contents retain the same position and size, relative to the view box’s final size and position, that they had when the view box was determined (above). Have not yet defined what happens if the view box is zero-area. It’s an error case, so precise behavior isn’t important; just need to see what impls want to do about it.",
27
+ "type": "value",
28
+ "value": "<basic-shape-rect>"
29
+ }
30
+ ],
31
+ "styleDeclaration": [
32
+ "object-view-box",
33
+ "objectViewBox"
34
+ ]
35
+ }
36
+ ],
37
+ "atrules": [],
38
+ "selectors": [],
39
+ "values": []
40
+ }