Skip to main content

css_ast/values/backgrounds/
mod.rs

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