@webref/css 6.23.0 → 7.0.1-alpha

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 (122) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +37 -22
  3. package/css.json +17754 -0
  4. package/index.js +2 -9
  5. package/package.json +1 -1
  6. package/CSS.json +0 -567
  7. package/SVG.json +0 -387
  8. package/compat.json +0 -784
  9. package/compositing.json +0 -178
  10. package/css-align.json +0 -559
  11. package/css-anchor-position.json +0 -1042
  12. package/css-animations-2.json +0 -377
  13. package/css-animations.json +0 -337
  14. package/css-backgrounds-4.json +0 -402
  15. package/css-backgrounds.json +0 -732
  16. package/css-borders.json +0 -1642
  17. package/css-box.json +0 -484
  18. package/css-break.json +0 -444
  19. package/css-cascade-6.json +0 -31
  20. package/css-cascade.json +0 -91
  21. package/css-color-5.json +0 -527
  22. package/css-color-6.json +0 -60
  23. package/css-color-adjust.json +0 -151
  24. package/css-color-hdr.json +0 -183
  25. package/css-color.json +0 -1759
  26. package/css-conditional-4.json +0 -23
  27. package/css-conditional-5.json +0 -505
  28. package/css-conditional.json +0 -50
  29. package/css-contain.json +0 -123
  30. package/css-content.json +0 -466
  31. package/css-counter-styles.json +0 -613
  32. package/css-display.json +0 -444
  33. package/css-easing.json +0 -149
  34. package/css-env.json +0 -109
  35. package/css-exclusions.json +0 -108
  36. package/css-extensions.json +0 -36
  37. package/css-flexbox.json +0 -259
  38. package/css-fonts-5.json +0 -385
  39. package/css-fonts.json +0 -1754
  40. package/css-forms.json +0 -281
  41. package/css-gaps.json +0 -544
  42. package/css-gcpm-4.json +0 -58
  43. package/css-gcpm.json +0 -138
  44. package/css-grid-3.json +0 -335
  45. package/css-grid.json +0 -824
  46. package/css-images-4.json +0 -367
  47. package/css-images-5.json +0 -43
  48. package/css-images.json +0 -373
  49. package/css-inline.json +0 -903
  50. package/css-layout-api.json +0 -21
  51. package/css-line-grid.json +0 -142
  52. package/css-link-params.json +0 -34
  53. package/css-lists.json +0 -337
  54. package/css-logical.json +0 -396
  55. package/css-masking.json +0 -717
  56. package/css-mixins.json +0 -58
  57. package/css-multicol.json +0 -253
  58. package/css-namespaces.json +0 -25
  59. package/css-nav.json +0 -121
  60. package/css-nesting.json +0 -17
  61. package/css-overflow-4.json +0 -428
  62. package/css-overflow-5.json +0 -226
  63. package/css-overflow.json +0 -379
  64. package/css-overscroll.json +0 -215
  65. package/css-page-floats.json +0 -296
  66. package/css-page.json +0 -382
  67. package/css-paint-api.json +0 -17
  68. package/css-position-4.json +0 -49
  69. package/css-position.json +0 -495
  70. package/css-properties-values-api.json +0 -39
  71. package/css-pseudo.json +0 -98
  72. package/css-regions.json +0 -59
  73. package/css-rhythm.json +0 -181
  74. package/css-round-display.json +0 -85
  75. package/css-ruby.json +0 -221
  76. package/css-scoping.json +0 -38
  77. package/css-scroll-anchoring.json +0 -43
  78. package/css-scroll-snap-2.json +0 -74
  79. package/css-scroll-snap.json +0 -643
  80. package/css-scrollbars.json +0 -82
  81. package/css-shadow-parts.json +0 -17
  82. package/css-shapes-2.json +0 -89
  83. package/css-shapes.json +0 -384
  84. package/css-size-adjust.json +0 -50
  85. package/css-sizing-4.json +0 -601
  86. package/css-sizing.json +0 -427
  87. package/css-speech.json +0 -985
  88. package/css-syntax.json +0 -263
  89. package/css-tables.json +0 -91
  90. package/css-text-4.json +0 -1516
  91. package/css-text-decor-4.json +0 -741
  92. package/css-text-decor.json +0 -337
  93. package/css-text.json +0 -670
  94. package/css-transforms-2.json +0 -329
  95. package/css-transforms.json +0 -213
  96. package/css-transitions-2.json +0 -47
  97. package/css-transitions.json +0 -119
  98. package/css-ui.json +0 -818
  99. package/css-values-5.json +0 -854
  100. package/css-values.json +0 -790
  101. package/css-variables.json +0 -29
  102. package/css-view-transitions-2.json +0 -152
  103. package/css-view-transitions.json +0 -77
  104. package/css-viewport.json +0 -43
  105. package/css-will-change.json +0 -64
  106. package/css-writing-modes.json +0 -256
  107. package/fill-stroke.json +0 -755
  108. package/filter-effects-2.json +0 -28
  109. package/filter-effects.json +0 -220
  110. package/html.json +0 -29
  111. package/mathml-core.json +0 -69
  112. package/mediaqueries-5.json +0 -915
  113. package/mediaqueries.json +0 -549
  114. package/motion.json +0 -303
  115. package/pointer-animations.json +0 -282
  116. package/scroll-animations.json +0 -519
  117. package/selectors-5.json +0 -22
  118. package/selectors.json +0 -604
  119. package/svg-strokes.json +0 -59
  120. package/upgrade-insecure-requests.json +0 -28
  121. package/webvtt.json +0 -33
  122. package/webxr-dom-overlays.json +0 -17
package/fill-stroke.json DELETED
@@ -1,755 +0,0 @@
1
- {
2
- "spec": {
3
- "title": "CSS Fill and Stroke Module Level 3",
4
- "url": "https://drafts.fxtf.org/fill-stroke-3/"
5
- },
6
- "properties": [
7
- {
8
- "name": "fill-rule",
9
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-rule",
10
- "value": "nonzero | evenodd",
11
- "initial": "nonzero",
12
- "appliesTo": "SVG shapes",
13
- "inherited": "yes",
14
- "percentages": "N/A",
15
- "computedValue": "as specified",
16
- "canonicalOrder": "per grammar",
17
- "animationType": "discrete",
18
- "media": "visual",
19
- "values": [
20
- {
21
- "name": "nonzero",
22
- "prose": "This rule determines the “insideness” of a point on the canvas by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a path segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. After counting the crossings, if the result is zero then the point is outside the path. Otherwise, it is inside. The effect of a nonzero fill rule on paths with self-intersections and enclosed subpaths.",
23
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-rule-nonzero",
24
- "type": "value",
25
- "value": "nonzero"
26
- },
27
- {
28
- "name": "evenodd",
29
- "prose": "This rule determines the “insideness” of a point on the canvas by drawing a ray from that point to infinity in any direction and counting the number of path segments from the given shape that the ray crosses. If this number is odd, the point is inside; if even, the point is outside. The effect of an evenodd fill rule on paths with self-intersections and enclosed subpaths.",
30
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-rule-evenodd",
31
- "type": "value",
32
- "value": "evenodd"
33
- }
34
- ],
35
- "styleDeclaration": [
36
- "fill-rule",
37
- "fillRule"
38
- ]
39
- },
40
- {
41
- "name": "fill-break",
42
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-break",
43
- "value": "bounding-box | slice | clone",
44
- "initial": "bounding-box",
45
- "appliesTo": "all elements",
46
- "inherited": "yes?",
47
- "percentages": "N/A",
48
- "computedValue": "as specified",
49
- "canonicalOrder": "per grammar",
50
- "animationType": "discrete",
51
- "media": "visual",
52
- "styleDeclaration": [
53
- "fill-break",
54
- "fillBreak"
55
- ]
56
- },
57
- {
58
- "name": "fill-color",
59
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-color",
60
- "value": "<color>",
61
- "initial": "currentcolor",
62
- "appliesTo": "text and SVG shapes",
63
- "inherited": "yes",
64
- "percentages": "N/A",
65
- "computedValue": "the computed color",
66
- "canonicalOrder": "per grammar",
67
- "animationType": "by computed value",
68
- "media": "visual",
69
- "styleDeclaration": [
70
- "fill-color",
71
- "fillColor"
72
- ]
73
- },
74
- {
75
- "name": "fill-image",
76
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-image",
77
- "value": "<paint>#",
78
- "initial": "none",
79
- "appliesTo": "text and SVG shapes",
80
- "inherited": "yes",
81
- "percentages": "N/A",
82
- "computedValue": "as specified, with any <image> computed",
83
- "canonicalOrder": "per grammar",
84
- "animationType": "repeatable list",
85
- "media": "visual",
86
- "styleDeclaration": [
87
- "fill-image",
88
- "fillImage"
89
- ]
90
- },
91
- {
92
- "name": "fill-origin",
93
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-origin",
94
- "value": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box",
95
- "initial": "match-parent",
96
- "appliesTo": "all elements",
97
- "inherited": "no",
98
- "percentages": "N/A",
99
- "computedValue": "as specified",
100
- "canonicalOrder": "per grammar",
101
- "animationType": "discrete",
102
- "media": "visual",
103
- "values": [
104
- {
105
- "name": "match-parent",
106
- "prose": "Use the same fill positioning area as the parent. If it has no parent, use the initial containing block.",
107
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-match-parent",
108
- "type": "value",
109
- "value": "match-parent"
110
- },
111
- {
112
- "name": "content-box",
113
- "prose": "Use the box’s own content-box/padding-box/border-box as the fill positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
114
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-content-box",
115
- "type": "value",
116
- "value": "content-box"
117
- },
118
- {
119
- "name": "padding-box",
120
- "prose": "Use the box’s own content-box/padding-box/border-box as the fill positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
121
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-padding-box",
122
- "type": "value",
123
- "value": "padding-box"
124
- },
125
- {
126
- "name": "border-box",
127
- "prose": "Use the box’s own content-box/padding-box/border-box as the fill positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
128
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-border-box",
129
- "type": "value",
130
- "value": "border-box"
131
- },
132
- {
133
- "name": "fill-box",
134
- "prose": "For SVG shapes or SVG text, use the object bounding box of the element. For CSS boxes, use the bounding box of the text glyph outlines of the element and all in-flow or floated descendants.",
135
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-fill-box",
136
- "type": "value",
137
- "value": "fill-box"
138
- },
139
- {
140
- "name": "stroke-box",
141
- "prose": "For SVG shapes or SVG text, use the stroke bounding box of the element. For CSS boxes, use the bounding box of the text glyph stroke outlines of the element and all in-flow or floated descendants.",
142
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-fill-origin-stroke-box",
143
- "type": "value",
144
- "value": "stroke-box"
145
- }
146
- ],
147
- "styleDeclaration": [
148
- "fill-origin",
149
- "fillOrigin"
150
- ]
151
- },
152
- {
153
- "name": "fill-position",
154
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-position",
155
- "value": "<position>#",
156
- "initial": "0% 0%",
157
- "appliesTo": "text and SVG shapes",
158
- "inherited": "yes",
159
- "percentages": "n/a",
160
- "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage",
161
- "canonicalOrder": "per grammar",
162
- "animationType": "repeatable list",
163
- "media": "visual",
164
- "styleDeclaration": [
165
- "fill-position",
166
- "fillPosition"
167
- ]
168
- },
169
- {
170
- "name": "fill-size",
171
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-size",
172
- "value": "<bg-size>#",
173
- "initial": "auto",
174
- "appliesTo": "text and SVG shapes",
175
- "inherited": "yes",
176
- "percentages": "n/a",
177
- "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in",
178
- "canonicalOrder": "per grammar",
179
- "animationType": "repeatable list",
180
- "media": "visual",
181
- "styleDeclaration": [
182
- "fill-size",
183
- "fillSize"
184
- ]
185
- },
186
- {
187
- "name": "fill-repeat",
188
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-repeat",
189
- "value": "<repeat-style>#",
190
- "initial": "repeat",
191
- "appliesTo": "text and SVG shapes",
192
- "inherited": "yes",
193
- "percentages": "n/a",
194
- "computedValue": "A list, each item consisting of: two keywords, one per dimension",
195
- "canonicalOrder": "per grammar",
196
- "animationType": "discrete",
197
- "media": "visual",
198
- "styleDeclaration": [
199
- "fill-repeat",
200
- "fillRepeat"
201
- ]
202
- },
203
- {
204
- "name": "fill-opacity",
205
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-opacity",
206
- "value": "<'opacity'>",
207
- "initial": "1",
208
- "appliesTo": "text and SVG shapes",
209
- "inherited": "yes",
210
- "percentages": "N/A",
211
- "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]",
212
- "canonicalOrder": "per grammar",
213
- "animationType": "by computed value",
214
- "media": "visual",
215
- "styleDeclaration": [
216
- "fill-opacity",
217
- "fillOpacity"
218
- ]
219
- },
220
- {
221
- "name": "stroke-width",
222
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-width",
223
- "value": "[<length-percentage> | <number>]#",
224
- "initial": "1px",
225
- "appliesTo": "text and SVG shapes",
226
- "inherited": "yes",
227
- "percentages": "relative to the scaled viewport size",
228
- "computedValue": "the absolute length, or percentage",
229
- "canonicalOrder": "per grammar",
230
- "animationType": "by computed value",
231
- "media": "visual",
232
- "styleDeclaration": [
233
- "stroke-width",
234
- "strokeWidth"
235
- ]
236
- },
237
- {
238
- "name": "stroke-align",
239
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-align",
240
- "value": "center | inset | outset",
241
- "initial": "center",
242
- "appliesTo": "text and SVG shapes",
243
- "inherited": "yes",
244
- "percentages": "N/A",
245
- "computedValue": "as specified",
246
- "canonicalOrder": "per grammar",
247
- "animationType": "discrete",
248
- "media": "visual",
249
- "values": [
250
- {
251
- "name": "center",
252
- "prose": "The stroke for each subpath is centered on the outline.",
253
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-align-center",
254
- "type": "value",
255
- "value": "center"
256
- },
257
- {
258
- "name": "inset",
259
- "prose": "The stroke for each subpath lies on the “inside” of the outline (into the fill area). The stroke-linejoin property must be ignored. Why is stroke-linejoin ignored? It’s still needed for interior corners.",
260
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-align-inset",
261
- "type": "value",
262
- "value": "inset"
263
- },
264
- {
265
- "name": "outset",
266
- "prose": "The stroke for each subpath lies on the “outside” of the outline (outside the fill area).",
267
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-align-outset",
268
- "type": "value",
269
- "value": "outset"
270
- }
271
- ],
272
- "styleDeclaration": [
273
- "stroke-align",
274
- "strokeAlign"
275
- ]
276
- },
277
- {
278
- "name": "stroke-linecap",
279
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap",
280
- "value": "butt | round | square",
281
- "initial": "butt",
282
- "appliesTo": "text and SVG shapes",
283
- "inherited": "yes",
284
- "percentages": "N/A",
285
- "computedValue": "as specified",
286
- "canonicalOrder": "per grammar",
287
- "animationType": "discrete",
288
- "media": "visual",
289
- "values": [
290
- {
291
- "name": "butt",
292
- "prose": "The stroke for each subpath does not extend beyond its two endpoints. (A zero length subpath will therefore not have any stroke.)",
293
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linecap-butt",
294
- "type": "value",
295
- "value": "butt"
296
- },
297
- {
298
- "name": "round",
299
- "prose": "At each end of each subpath, the stroke is extended by a half circle with a radius equal to half the stroke width. (The stroke for a zero-length subpath is a full circle centered at the subpath’s point.)",
300
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linecap-round",
301
- "type": "value",
302
- "value": "round"
303
- },
304
- {
305
- "name": "square",
306
- "prose": "At the end of each subpath, the stroke is extended by a rectangle with the same width as the stroke width and whose length is half of the stroke width. (The stroke for a zero-length subpath is a square with side length equal to the stroke width, centered at the subpath’s point, and oriented such that two of its sides are parallel to the effective tangent at that subpath’s point. See § 4.6 Computing the Shape of the Stroke for details on how to determine the tangent at a zero-length subpath.) Adding a rectangle to the end of dashes on a curved outline looks bad. It should just extend the dash by stroke-width/2, following the outline.",
307
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linecap-square",
308
- "type": "value",
309
- "value": "square"
310
- }
311
- ],
312
- "styleDeclaration": [
313
- "stroke-linecap",
314
- "strokeLinecap"
315
- ]
316
- },
317
- {
318
- "name": "stroke-linejoin",
319
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin",
320
- "value": "[ crop | arcs | miter ] || [ bevel | round | fallback ]",
321
- "initial": "miter",
322
- "appliesTo": "text and SVG shapes",
323
- "inherited": "yes",
324
- "percentages": "N/A",
325
- "computedValue": "as specified",
326
- "canonicalOrder": "per grammar",
327
- "animationType": "discrete",
328
- "media": "visual",
329
- "values": [
330
- {
331
- "name": "crop",
332
- "prose": "The stroke extends the minimal amount past the corner necessary to form a convex corner. This acts identically to miter, but forces stroke-miterlimit to behave as if it had its minimum value of 1.",
333
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-crop",
334
- "type": "value",
335
- "value": "crop"
336
- },
337
- {
338
- "name": "miter",
339
- "prose": "A sharp corner is used to join path segments. The corner is formed by extending the outer edges of the stroke at the tangents of the path segments until they intersect.",
340
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-miter",
341
- "type": "value",
342
- "value": "miter"
343
- },
344
- {
345
- "name": "arcs",
346
- "prose": "An arcs corner is used to join path segments. The arcs shape is formed by extending the outer edges of the stroke at the join point with arcs that have the same curvature as the outer edges at the join point.",
347
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-arcs",
348
- "type": "value",
349
- "value": "arcs"
350
- },
351
- {
352
- "name": "bevel",
353
- "prose": "The corner is cropped at the stroke-miterlimit by the perpendicular to its diagonal.",
354
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-bevel",
355
- "type": "value",
356
- "value": "bevel"
357
- },
358
- {
359
- "name": "round",
360
- "prose": "The corner is cropped as for bevel, and a filled arc tangent to the truncated stroke edges is appended to round the corner.",
361
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-round",
362
- "type": "value",
363
- "value": "round"
364
- },
365
- {
366
- "name": "fallback",
367
- "prose": "When the stroke-miterlimit is exceeded, this behaves as if crop bevel were specified. Can we just remove fallback? It’s a stupid value, useful only because we didn’t have the clip-at-miterlimit behavior in SVG1. Question is if people are mostly just *accidentally* getting the bevel behavior right now, and would be okay with their joins extending up to the miterlimit and only getting the excess corners clipped, or if they actually wanted the discontinuous behavior currently specified. The breakpoint is between 29 and 30 degrees.",
368
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-linejoin-fallback",
369
- "type": "value",
370
- "value": "fallback"
371
- }
372
- ],
373
- "styleDeclaration": [
374
- "stroke-linejoin",
375
- "strokeLinejoin"
376
- ]
377
- },
378
- {
379
- "name": "stroke-miterlimit",
380
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-miterlimit",
381
- "value": "<number>",
382
- "initial": "4",
383
- "appliesTo": "text and SVG shapes",
384
- "inherited": "yes",
385
- "percentages": "N/A",
386
- "computedValue": "a number",
387
- "canonicalOrder": "per grammar",
388
- "animationType": "discrete",
389
- "media": "visual",
390
- "values": [
391
- {
392
- "name": "<number>",
393
- "prose": "Specifies the limit on the join’s size as a ratio of its diagonal to the stroke-width. Values less than 1 are invalid (and make the declaration invalid). For a miter linejoin, the length of the diagonal is calculated from the angle between the two segments as stroke-width / sin(θ/2). The linejoin is clipped perpendicular to the line bisecting the angle between the two path segments. For an arcs linejoin, the length of the diagonal is calculated along a circular arc that is tangent to the line bisecting the angle between the two segments at the point the two segments intersect and passes through the end point of the join. The linejoin is clipped perpendicular to this arc.",
394
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-miterlimit-number",
395
- "type": "value",
396
- "value": "<number>"
397
- }
398
- ],
399
- "styleDeclaration": [
400
- "stroke-miterlimit",
401
- "strokeMiterlimit"
402
- ]
403
- },
404
- {
405
- "name": "stroke-break",
406
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-break",
407
- "value": "bounding-box | slice | clone",
408
- "initial": "bounding-box",
409
- "appliesTo": "all elements",
410
- "inherited": "?",
411
- "percentages": "N/A",
412
- "computedValue": "as specified",
413
- "canonicalOrder": "per grammar",
414
- "animationType": "discrete",
415
- "media": "visual",
416
- "styleDeclaration": [
417
- "stroke-break",
418
- "strokeBreak"
419
- ]
420
- },
421
- {
422
- "name": "stroke-dasharray",
423
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dasharray",
424
- "value": "none | [<length-percentage> | <number>]+#",
425
- "initial": "none",
426
- "appliesTo": "text and SVG shapes",
427
- "inherited": "yes",
428
- "percentages": "relative to the scaled viewport size",
429
- "computedValue": "as specified",
430
- "canonicalOrder": "per grammar",
431
- "animationType": "repeatable list",
432
- "media": "visual",
433
- "values": [
434
- {
435
- "name": "none",
436
- "prose": "No dashing: the stroke is drawn continuously.",
437
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dasharray-none",
438
- "type": "value",
439
- "value": "none"
440
- },
441
- {
442
- "name": "<length-percentage>+#",
443
- "prose": "Specifies a dashing pattern to use. Each <length-percentage> value represents the length of the next dash or gap (beginning with the first dash and alternating from there) of the stroke. The pattern repeats over the length of the stroke. (If the number of values is odd, the pattern behaves as if it was duplicated to yield an even number of values.) The dashing pattern is reset and begins anew at the start of each subpath. Negative values are invalid. If all values are zero, it is treated as none.",
444
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dasharray-length-percentage",
445
- "type": "value",
446
- "value": "<length-percentage>+#"
447
- }
448
- ],
449
- "styleDeclaration": [
450
- "stroke-dasharray",
451
- "strokeDasharray"
452
- ]
453
- },
454
- {
455
- "name": "stroke-dashoffset",
456
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dashoffset",
457
- "value": "<length-percentage> | <number>",
458
- "initial": "0",
459
- "appliesTo": "text and SVG shapes",
460
- "inherited": "yes",
461
- "percentages": "relative to the scaled viewport size",
462
- "computedValue": "as specified",
463
- "canonicalOrder": "per grammar",
464
- "animationType": "repeatable list",
465
- "media": "visual",
466
- "styleDeclaration": [
467
- "stroke-dashoffset",
468
- "strokeDashoffset"
469
- ]
470
- },
471
- {
472
- "name": "stroke-dash-corner",
473
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dash-corner",
474
- "value": "none | <length>",
475
- "initial": "none",
476
- "appliesTo": "text and SVG shapes",
477
- "inherited": "yes",
478
- "percentages": "N/A",
479
- "computedValue": "specified value, with lengths made absolute",
480
- "canonicalOrder": "per grammar",
481
- "animationType": "by computed value if <length>, otherwise discrete",
482
- "media": "visual",
483
- "values": [
484
- {
485
- "name": "none",
486
- "prose": "This property has no special effect on dashing: the dashes are positioned/sized continuously along the path.",
487
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-corner-none",
488
- "type": "value",
489
- "value": "none"
490
- }
491
- ],
492
- "styleDeclaration": [
493
- "stroke-dash-corner",
494
- "strokeDashCorner"
495
- ]
496
- },
497
- {
498
- "name": "stroke-dash-justify",
499
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dash-justify",
500
- "value": "none | [ stretch | compress ] || [ dashes || gaps ]",
501
- "initial": "none",
502
- "appliesTo": "text and SVG shapes",
503
- "inherited": "yes",
504
- "percentages": "N/A",
505
- "computedValue": "specified value, with lengths made absolute",
506
- "canonicalOrder": "per grammar",
507
- "animationType": "discrete",
508
- "media": "visual",
509
- "values": [
510
- {
511
- "name": "none",
512
- "prose": "No adjustment of the dash pattern is made: it’s clipped at the end of the subpath with however much progress it made to that point.",
513
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-justify-none",
514
- "type": "value",
515
- "value": "none"
516
- },
517
- {
518
- "name": "stretch",
519
- "prose": "Indicates that when the dash pattern does not fit into a subpath a whole number times, the dashes or gaps (or both) will be lengthened so that it does.",
520
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-justify-stretch",
521
- "type": "value",
522
- "value": "stretch"
523
- },
524
- {
525
- "name": "compress",
526
- "prose": "Indicates that when the dash pattern does not fit into a subpath a whole number times, the dashes or gaps (or both) will be shortened so that it does.",
527
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-justify-compress",
528
- "type": "value",
529
- "value": "compress"
530
- },
531
- {
532
- "name": "dashes",
533
- "prose": "Indicates that when a dash pattern is to be stretched or compressed, the length of the dashes will be adjusted.",
534
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-justify-dashes",
535
- "type": "value",
536
- "value": "dashes"
537
- },
538
- {
539
- "name": "gaps",
540
- "prose": "Indicates that when a dash pattern is to be stretched or compressed, the length of the gaps will be adjusted.",
541
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-dash-justify-gaps",
542
- "type": "value",
543
- "value": "gaps"
544
- }
545
- ],
546
- "styleDeclaration": [
547
- "stroke-dash-justify",
548
- "strokeDashJustify"
549
- ]
550
- },
551
- {
552
- "name": "stroke-color",
553
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-color",
554
- "value": "<color>#",
555
- "initial": "transparent",
556
- "appliesTo": "text and SVG shapes",
557
- "inherited": "yes",
558
- "percentages": "N/A",
559
- "computedValue": "the computed color",
560
- "canonicalOrder": "per grammar",
561
- "animationType": "by computed value",
562
- "media": "visual",
563
- "styleDeclaration": [
564
- "stroke-color",
565
- "strokeColor"
566
- ]
567
- },
568
- {
569
- "name": "stroke-image",
570
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-image",
571
- "value": "<paint>#",
572
- "initial": "none",
573
- "appliesTo": "text and SVG shapes",
574
- "inherited": "yes",
575
- "percentages": "N/A",
576
- "computedValue": "as specified, with any <image> computed",
577
- "canonicalOrder": "per grammar",
578
- "animationType": "repeatable list",
579
- "media": "visual",
580
- "styleDeclaration": [
581
- "stroke-image",
582
- "strokeImage"
583
- ]
584
- },
585
- {
586
- "name": "stroke-origin",
587
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-origin",
588
- "value": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box",
589
- "initial": "match-parent",
590
- "appliesTo": "all elements",
591
- "inherited": "no",
592
- "percentages": "N/A",
593
- "computedValue": "as specified",
594
- "canonicalOrder": "per grammar",
595
- "animationType": "discrete",
596
- "media": "visual",
597
- "values": [
598
- {
599
- "name": "match-parent",
600
- "prose": "Use the same stroke positioning area as the parent. If it has no parent, use the initial containing block.",
601
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-match-parent",
602
- "type": "value",
603
- "value": "match-parent"
604
- },
605
- {
606
- "name": "content-box",
607
- "prose": "Use the box’s own content-box/padding-box/border-box as the stroke positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
608
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-content-box",
609
- "type": "value",
610
- "value": "content-box"
611
- },
612
- {
613
- "name": "padding-box",
614
- "prose": "Use the box’s own content-box/padding-box/border-box as the stroke positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
615
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-padding-box",
616
- "type": "value",
617
- "value": "padding-box"
618
- },
619
- {
620
- "name": "border-box",
621
- "prose": "Use the box’s own content-box/padding-box/border-box as the stroke positioning area. For SVG shapes, content-box and padding-box are treated as fill-box, while border-box is treated as stroke-box.",
622
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-border-box",
623
- "type": "value",
624
- "value": "border-box"
625
- },
626
- {
627
- "name": "fill-box",
628
- "prose": "For SVG shapes or SVG text, use the object bounding box of the element. For CSS boxes, use the bounding box of the text glyph outlines of the element and all in-flow or floated descendants.",
629
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-fill-box",
630
- "type": "value",
631
- "value": "fill-box"
632
- },
633
- {
634
- "name": "stroke-box",
635
- "prose": "For SVG shapes or SVG text, use the stroke bounding box of the element. For CSS boxes, use the bounding box of the text glyph stroke outlines of the element and all in-flow or floated descendants.",
636
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-stroke-origin-stroke-box",
637
- "type": "value",
638
- "value": "stroke-box"
639
- }
640
- ],
641
- "styleDeclaration": [
642
- "stroke-origin",
643
- "strokeOrigin"
644
- ]
645
- },
646
- {
647
- "name": "stroke-position",
648
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-position",
649
- "value": "<position>#",
650
- "initial": "0% 0%",
651
- "appliesTo": "text and SVG shapes",
652
- "inherited": "yes",
653
- "percentages": "n/a",
654
- "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage",
655
- "canonicalOrder": "per grammar",
656
- "animationType": "repeatable list",
657
- "media": "visual",
658
- "styleDeclaration": [
659
- "stroke-position",
660
- "strokePosition"
661
- ]
662
- },
663
- {
664
- "name": "stroke-size",
665
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-size",
666
- "value": "<bg-size>#",
667
- "initial": "auto",
668
- "appliesTo": "text and SVG shapes",
669
- "inherited": "yes",
670
- "percentages": "n/a",
671
- "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in",
672
- "canonicalOrder": "per grammar",
673
- "animationType": "repeatable list",
674
- "media": "visual",
675
- "styleDeclaration": [
676
- "stroke-size",
677
- "strokeSize"
678
- ]
679
- },
680
- {
681
- "name": "stroke-repeat",
682
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-repeat",
683
- "value": "<repeat-style>#",
684
- "initial": "repeat",
685
- "appliesTo": "text and SVG shapes",
686
- "inherited": "yes",
687
- "percentages": "n/a",
688
- "computedValue": "A list, each item consisting of: two keywords, one per dimension",
689
- "canonicalOrder": "per grammar",
690
- "animationType": "discrete",
691
- "media": "visual",
692
- "styleDeclaration": [
693
- "stroke-repeat",
694
- "strokeRepeat"
695
- ]
696
- },
697
- {
698
- "name": "stroke-opacity",
699
- "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-opacity",
700
- "value": "<'opacity'>",
701
- "initial": "1",
702
- "appliesTo": "text and SVG shapes",
703
- "inherited": "yes",
704
- "percentages": "N/A",
705
- "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]",
706
- "canonicalOrder": "per grammar",
707
- "animationType": "by computed value",
708
- "media": "visual",
709
- "styleDeclaration": [
710
- "stroke-opacity",
711
- "strokeOpacity"
712
- ]
713
- }
714
- ],
715
- "atrules": [],
716
- "selectors": [],
717
- "values": [
718
- {
719
- "name": "<paint>",
720
- "href": "https://drafts.fxtf.org/fill-stroke-3/#typedef-paint",
721
- "type": "type",
722
- "value": "none | <image> | <svg-paint>",
723
- "values": [
724
- {
725
- "name": "none",
726
- "prose": "Indicates no paint is applied.",
727
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-paint-none",
728
- "type": "value",
729
- "value": "none"
730
- }
731
- ]
732
- },
733
- {
734
- "name": "<svg-paint>",
735
- "href": "https://drafts.fxtf.org/fill-stroke-3/#typedef-svg-paint",
736
- "type": "type",
737
- "value": "child | child( <integer> )",
738
- "values": [
739
- {
740
- "name": "child",
741
- "prose": "Refers to the last child paint server element of the element being painted. If there is no such child, behaves as none.",
742
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-svg-paint-child",
743
- "type": "value",
744
- "value": "child"
745
- },
746
- {
747
- "name": "child()",
748
- "value": "child()",
749
- "href": "https://drafts.fxtf.org/fill-stroke-3/#valdef-svg-paint-child-integer",
750
- "type": "value"
751
- }
752
- ]
753
- }
754
- ]
755
- }