css_ast/values/backgrounds/
mod.rs

1#![allow(warnings)]
2//! CSS Backgrounds Module Level 4
3//! https://drafts.csswg.org/css-backgrounds-4/
4
5mod impls;
6use impls::*;
7
8/// Represents the style value for `background-color` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-color).
9///
10/// The background-color CSS property sets the fill color of an element, behind any content and background images or gradients.
11///
12/// The grammar is defined as:
13///
14/// ```text,ignore
15/// <color>
16/// ```
17///
18// https://drafts.csswg.org/css-backgrounds-4/#background-color
19#[syntax(" <color> ")]
20#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21#[style_value(
22	initial = "transparent",
23	applies_to = "all elements",
24	inherited = "no",
25	percentages = "n/a",
26	canonical_order = "per grammar",
27	animation_type = "by computed value"
28)]
29#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-color"))]
31#[visit]
32pub struct BackgroundColorStyleValue;
33
34/// Represents the style value for `background-image` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-image).
35///
36/// The background-image CSS property sets the graphics to display behind the content of an element and in front of the background color. Graphics may be any combination of images or gradients.
37///
38/// The grammar is defined as:
39///
40/// ```text,ignore
41/// <bg-image>#
42/// ```
43///
44// https://drafts.csswg.org/css-backgrounds-4/#background-image
45#[syntax(" <bg-image># ")]
46#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47#[style_value(
48	initial = "none",
49	applies_to = "all elements",
50	inherited = "no",
51	percentages = "n/a",
52	canonical_order = "per grammar",
53	animation_type = "discrete"
54)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-image"))]
57#[visit]
58pub struct BackgroundImageStyleValue<'a>;
59
60/// Represents the style value for `background-repeat` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat).
61///
62/// The background-repeat CSS property sets how a background image is tiled.
63///
64/// The grammar is defined as:
65///
66/// ```text,ignore
67/// <repeat-style>#
68/// ```
69///
70// https://drafts.csswg.org/css-backgrounds-4/#background-repeat
71#[syntax(" <repeat-style># ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74	initial = "repeat",
75	applies_to = "all elements",
76	inherited = "no",
77	percentages = "n/a",
78	canonical_order = "per grammar",
79	animation_type = "discrete"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat"))]
83#[visit]
84pub struct BackgroundRepeatStyleValue<'a>;
85
86/// Represents the style value for `background-attachment` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-attachment).
87///
88/// The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls.
89///
90/// The grammar is defined as:
91///
92/// ```text,ignore
93/// <attachment>#
94/// ```
95///
96// https://drafts.csswg.org/css-backgrounds-4/#background-attachment
97#[syntax(" <attachment># ")]
98#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
99#[style_value(
100	initial = "scroll",
101	applies_to = "all elements",
102	inherited = "no",
103	percentages = "n/a",
104	canonical_order = "per grammar",
105	animation_type = "discrete"
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-attachment"))]
109#[visit]
110pub struct BackgroundAttachmentStyleValue<'a>;
111
112// /// Represents the style value for `background-position` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position).
113// ///
114// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
115// ///
116// /// The grammar is defined as:
117// ///
118// /// ```text,ignore
119// /// <bg-position>#
120// /// ```
121// ///
122// // https://drafts.csswg.org/css-backgrounds-4/#background-position
123// #[syntax(" <bg-position># ")]
124// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
125// #[style_value(
126// 	initial = "0% 0%",
127//   applies_to = "all elements",
128// 	inherited = "no",
129// 	percentages = "refer to size of background positioning area minus size of background image; see text",
130// 	canonical_order = "per grammar",
131// 	animation_type = "repeatable list",
132// )]
133// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
134// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-position"))]
135// #[visit]
136// pub struct BackgroundPositionStyleValue<'a>;
137
138/// Represents the style value for `background-clip` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-clip).
139///
140/// The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box.
141///
142/// The grammar is defined as:
143///
144/// ```text,ignore
145/// <bg-clip>#
146/// ```
147///
148// https://drafts.csswg.org/css-backgrounds-4/#background-clip
149#[syntax(" <bg-clip># ")]
150#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
151#[style_value(
152	initial = "border-box",
153	applies_to = "all elements",
154	inherited = "no",
155	percentages = "n/a",
156	canonical_order = "per grammar",
157	animation_type = "repeatable list"
158)]
159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-clip"))]
161#[visit]
162pub struct BackgroundClipStyleValue<'a>;
163
164/// Represents the style value for `background-origin` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-origin).
165///
166/// The background-origin CSS property sets the background starting position relative to the border and padding of an element.
167///
168/// The grammar is defined as:
169///
170/// ```text,ignore
171/// <visual-box>#
172/// ```
173///
174// https://drafts.csswg.org/css-backgrounds-4/#background-origin
175#[syntax(" <visual-box># ")]
176#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
177#[style_value(
178	initial = "padding-box",
179	applies_to = "all elements",
180	inherited = "no",
181	percentages = "n/a",
182	canonical_order = "per grammar",
183	animation_type = "repeatable list"
184)]
185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-origin"))]
187#[visit]
188pub struct BackgroundOriginStyleValue<'a>;
189
190/// Represents the style value for `background-size` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-size).
191///
192/// The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage.
193///
194/// The grammar is defined as:
195///
196/// ```text,ignore
197/// <bg-size>#
198/// ```
199///
200// https://drafts.csswg.org/css-backgrounds-4/#background-size
201#[syntax(" <bg-size># ")]
202#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
203#[style_value(
204	initial = "auto",
205	applies_to = "all elements",
206	inherited = "no",
207	percentages = "see text",
208	canonical_order = "per grammar",
209	animation_type = "repeatable list"
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-size"))]
213#[visit]
214pub struct BackgroundSizeStyleValue<'a>;
215
216// /// Represents the style value for `background` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background).
217// ///
218// /// The background CSS property is a shorthand that sets several background properties at once.
219// ///
220// /// The grammar is defined as:
221// ///
222// /// ```text,ignore
223// /// <bg-layer>#? , <final-bg-layer>
224// /// ```
225// ///
226// // https://drafts.csswg.org/css-backgrounds-4/#background
227// #[syntax(" <bg-layer>#? , <final-bg-layer> ")]
228// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
229// #[style_value(
230// 	initial = "see individual properties",
231//   applies_to = "all elements",
232// 	inherited = "no",
233// 	percentages = "see individual properties",
234// 	canonical_order = "per grammar",
235// 	animation_type = "see individual properties",
236// )]
237// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
238// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background"))]
239// #[visit]
240// pub struct BackgroundStyleValue<'a>;
241
242/// Represents the style value for `border-image-source` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image-source).
243///
244/// The border-image CSS property draws an image around an element.
245///
246/// The grammar is defined as:
247///
248/// ```text,ignore
249/// none | <image>
250/// ```
251///
252// https://drafts.csswg.org/css-backgrounds-4/#border-image-source
253#[syntax(" none | <image> ")]
254#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
255#[style_value(
256	initial = "none",
257	applies_to = "All elements, except internal table elements when border-collapse is collapse",
258	inherited = "no",
259	percentages = "n/a",
260	canonical_order = "per grammar",
261	animation_type = "discrete"
262)]
263#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
264#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-source"))]
265#[visit]
266pub struct BorderImageSourceStyleValue<'a>;
267
268// /// Represents the style value for `border-image-slice` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image-slice).
269// ///
270// /// The border-image CSS property draws an image around an element.
271// ///
272// /// The grammar is defined as:
273// ///
274// /// ```text,ignore
275// /// [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill?
276// /// ```
277// ///
278// // https://drafts.csswg.org/css-backgrounds-4/#border-image-slice
279// #[syntax(" [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill? ")]
280// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
281// #[style_value(
282// 	initial = "100%",
283//   applies_to = "All elements, except internal table elements when border-collapse is collapse",
284// 	inherited = "no",
285// 	percentages = "refer to size of the border image",
286// 	canonical_order = "per grammar",
287// 	animation_type = "by computed value",
288// )]
289// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
290// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-slice"))]
291// #[visit]
292// pub struct BorderImageSliceStyleValue;
293
294// /// Represents the style value for `border-image-width` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image-width).
295// ///
296// /// The border-image CSS property draws an image around an element.
297// ///
298// /// The grammar is defined as:
299// ///
300// /// ```text,ignore
301// /// [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}
302// /// ```
303// ///
304// // https://drafts.csswg.org/css-backgrounds-4/#border-image-width
305// #[syntax(" [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4} ")]
306// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
307// #[style_value(
308// 	initial = "1",
309//   applies_to = "All elements, except internal table elements when border-collapse is collapse",
310// 	inherited = "no",
311// 	percentages = "relative to width/height of the border image area",
312// 	canonical_order = "per grammar",
313// 	animation_type = "by computed value",
314// )]
315// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
316// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-width"))]
317// #[visit]
318// pub struct BorderImageWidthStyleValue;
319
320/// Represents the style value for `border-image-outset` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image-outset).
321///
322/// The border-image CSS property draws an image around an element.
323///
324/// The grammar is defined as:
325///
326/// ```text,ignore
327/// [ <length [0,∞]> | <number [0,∞]> ]{1,4}
328/// ```
329///
330// https://drafts.csswg.org/css-backgrounds-4/#border-image-outset
331#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
332#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
333#[style_value(
334	initial = "0",
335	applies_to = "All elements, except internal table elements when border-collapse is collapse",
336	inherited = "no",
337	percentages = "n/a",
338	canonical_order = "per grammar",
339	animation_type = "by computed value"
340)]
341#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
342#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
343#[visit]
344pub struct BorderImageOutsetStyleValue;
345
346/// Represents the style value for `border-image-repeat` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image-repeat).
347///
348/// The border-image CSS property draws an image around an element.
349///
350/// The grammar is defined as:
351///
352/// ```text,ignore
353/// [ stretch | repeat | round | space ]{1,2}
354/// ```
355///
356// https://drafts.csswg.org/css-backgrounds-4/#border-image-repeat
357#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
358#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
359#[style_value(
360	initial = "stretch",
361	applies_to = "All elements, except internal table elements when border-collapse is collapse",
362	inherited = "no",
363	percentages = "n/a",
364	canonical_order = "per grammar",
365	animation_type = "discrete"
366)]
367#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
368#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
369#[visit]
370pub struct BorderImageRepeatStyleValue;
371
372// /// Represents the style value for `border-image` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#border-image).
373// ///
374// /// The border-image CSS property draws an image around an element.
375// ///
376// /// The grammar is defined as:
377// ///
378// /// ```text,ignore
379// /// <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>
380// /// ```
381// ///
382// // https://drafts.csswg.org/css-backgrounds-4/#border-image
383// #[syntax(
384// 	" <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'> "
385// )]
386// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
387// #[style_value(
388// 	initial = "See individual properties",
389//   applies_to = "See individual properties",
390// 	inherited = "no",
391// 	percentages = "n/a",
392// 	canonical_order = "per grammar",
393// 	animation_type = "see individual properties",
394// )]
395// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
396// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image"))]
397// #[visit]
398// pub struct BorderImageStyleValue;
399
400/// Represents the style value for `background-repeat-x` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-x).
401///
402/// The grammar is defined as:
403///
404/// ```text,ignore
405/// <repetition>#
406/// ```
407///
408// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-x
409#[syntax(" <repetition># ")]
410#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
411#[style_value(
412	initial = "repeat",
413	applies_to = "all elements",
414	inherited = "no",
415	percentages = "n/a",
416	canonical_order = "per grammar",
417	animation_type = "discrete"
418)]
419#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
420#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-x"))]
421#[visit]
422pub struct BackgroundRepeatXStyleValue<'a>;
423
424/// Represents the style value for `background-repeat-y` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-y).
425///
426/// The grammar is defined as:
427///
428/// ```text,ignore
429/// <repetition>#
430/// ```
431///
432// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-y
433#[syntax(" <repetition># ")]
434#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
435#[style_value(
436	initial = "repeat",
437	applies_to = "all elements",
438	inherited = "no",
439	percentages = "n/a",
440	canonical_order = "per grammar",
441	animation_type = "discrete"
442)]
443#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
444#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-y"))]
445#[visit]
446pub struct BackgroundRepeatYStyleValue<'a>;
447
448/// Represents the style value for `background-repeat-block` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-block).
449///
450/// The grammar is defined as:
451///
452/// ```text,ignore
453/// <repetition>#
454/// ```
455///
456// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-block
457#[syntax(" <repetition># ")]
458#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
459#[style_value(
460	initial = "repeat",
461	applies_to = "all elements",
462	inherited = "no",
463	percentages = "n/a",
464	canonical_order = "per grammar",
465	animation_type = "discrete"
466)]
467#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
468#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-block"))]
469#[visit]
470pub struct BackgroundRepeatBlockStyleValue<'a>;
471
472/// Represents the style value for `background-repeat-inline` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-inline).
473///
474/// The grammar is defined as:
475///
476/// ```text,ignore
477/// <repetition>#
478/// ```
479///
480// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-inline
481#[syntax(" <repetition># ")]
482#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
483#[style_value(
484	initial = "repeat",
485	applies_to = "all elements",
486	inherited = "no",
487	percentages = "n/a",
488	canonical_order = "per grammar",
489	animation_type = "discrete"
490)]
491#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
492#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-inline"))]
493#[visit]
494pub struct BackgroundRepeatInlineStyleValue<'a>;
495
496// /// Represents the style value for `background-position-x` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-x).
497// ///
498// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
499// ///
500// /// The grammar is defined as:
501// ///
502// /// ```text,ignore
503// /// [ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#
504// /// ```
505// ///
506// // https://drafts.csswg.org/css-backgrounds-4/#background-position-x
507// #[syntax(" [ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]# ")]
508// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
509// #[style_value(
510// 	initial = "0%",
511//   applies_to = "all elements",
512// 	inherited = "no",
513// 	percentages = "refer to width of background positioning area minus width of background image",
514// 	canonical_order = "per grammar",
515// 	animation_type = "repeatable list",
516// )]
517// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
518// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-position-x"))]
519// #[visit]
520// pub enum BackgroundPositionXStyleValue<'a> {}
521
522// /// Represents the style value for `background-position-y` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-y).
523// ///
524// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
525// ///
526// /// The grammar is defined as:
527// ///
528// /// ```text,ignore
529// /// [ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#
530// /// ```
531// ///
532// // https://drafts.csswg.org/css-backgrounds-4/#background-position-y
533// #[syntax(" [ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]# ")]
534// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
535// #[style_value(
536// 	initial = "0%",
537//   applies_to = "all elements",
538// 	inherited = "no",
539// 	percentages = "refer to height of background positioning area minus height of background image",
540// 	canonical_order = "per grammar",
541// 	animation_type = "repeatable list",
542// )]
543// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
544// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-position-y"))]
545// #[visit]
546// pub enum BackgroundPositionYStyleValue<'a> {}
547
548// /// Represents the style value for `background-position-inline` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-inline).
549// ///
550// /// The grammar is defined as:
551// ///
552// /// ```text,ignore
553// /// [ center | [ [ start | end ]? <length-percentage>? ]! ]#
554// /// ```
555// ///
556// // https://drafts.csswg.org/css-backgrounds-4/#background-position-inline
557// #[syntax(" [ center | [ [ start | end ]? <length-percentage>? ]! ]# ")]
558// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
559// #[style_value(
560// 	initial = "0%",
561//   applies_to = "all elements",
562// 	inherited = "no",
563// 	percentages = "refer to inline-size of background positioning area minus inline-size of background image",
564// 	canonical_order = "per grammar",
565// 	animation_type = "repeatable list",
566// )]
567// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
568// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-position-inline"))]
569// #[visit]
570// pub enum BackgroundPositionInlineStyleValue<'a> {}
571
572// /// Represents the style value for `background-position-block` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-block).
573// ///
574// /// The grammar is defined as:
575// ///
576// /// ```text,ignore
577// /// [ center | [ [ start | end ]? <length-percentage>? ]! ]#
578// /// ```
579// ///
580// // https://drafts.csswg.org/css-backgrounds-4/#background-position-block
581// #[syntax(" [ center | [ [ start | end ]? <length-percentage>? ]! ]# ")]
582// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
583// #[style_value(
584// 	initial = "0%",
585//   applies_to = "all elements",
586// 	inherited = "no",
587// 	percentages = "refer to size of background positioning area minus size of background image",
588// 	canonical_order = "per grammar",
589// 	animation_type = "repeatable list",
590// )]
591// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
592// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-position-block"))]
593// #[visit]
594// pub enum BackgroundPositionBlockStyleValue<'a> {}