message: doc: added examples and documentation for Background Styling
diff: use crate::*;
  +/// Styling to set the background for an element.
  +/// # Example
  +/// ```no_run
  +/// use zoon::*;
  +///
  +/// let element = El::new().s(Background::new().color(hsluv!(241.3, 100, 96.6)));
  +/// ```
  #[derive(Default)]
  pub struct Background<'a> {
  + /// Css properties used by Zoon to style the element
  + /// with Css.
  static_css_props: StaticCSSProps<'a>,
  + /// Css properties that can be used to customize the background directly.
  dynamic_css_props: DynamicCSSProps,
  }
  impl<'a> Background<'a> {
  + /// Set a given color to the background with HSLuv.
  + /// # Example
  + /// ```no_run
  + /// use zoon::*;
  + ///
  + /// let element = El::new().s(Background::new().color(hsluv!(241.3, 100, 96.6)));
  + /// ```
  + ///
  + /// Set a given color to the background with predefined colors.
  + /// # Example
  + /// ```no_run
  + /// use zoon::{named_color::*, *};
  + ///
  + /// let element = El::new().s(Background::new().color(BLUE_0));
  + /// ```
  pub fn color(mut self, color: impl Into<Option<HSLuv>>) -> Self {
  if let Some(color) = color.into() {
  self.static_css_props
  @@ -15,6 +40,16 @@ impl<'a> Background<'a> {
  self
  }
  + /// Set the color depending of the signal's state.
  + /// # Example
  + /// ```no_run
  + /// use zoon::{named_color::*, *};
  + /// let (hovered, hovered_signal) = Mutable::new_and_signal(false);
  + ///
  + /// let button = Button::new()
  + /// .s(Background::new().color_signal(hovered_signal.map_bool(|| BLUE_0, || BLUE_9)))
  + /// .on_hovered_change(move |is_hovered| hovered.set_neq(is_hovered));
  + /// ```
  pub fn color_signal(
  mut self,
  color: impl Signal<Item = impl Into<Option<HSLuv>>> + Unpin + 'static,
  @@ -25,12 +60,35 @@ impl<'a> Background<'a> {
  self
  }
  + /// Can be used to set an image as background.
  + /// # Example
  + /// ```no_run
  + /// use zoon::*;
  + /// let element = El::new().s(Background::new().url("/assets/images/stars.png"));
  + /// ```
  pub fn url(mut self, url: impl IntoCowStr<'a>) -> Self {
  let url = ["url(", &url.into_cow_str(), ")"].concat();
  self.static_css_props.insert("background-image", url);
  self
  }
  + /// Can set the url depending of the signal's state.
  + ///
  + /// Here the background changes depending of the click state.
  + /// # Example
  + /// ```no_run
  + /// use zoon::*;
  + ///
  + /// let (traveling, travel_to_space) = Mutable::new_and_signal(false);
  + ///
  + /// let element = El::new()
  + /// .s(Background::new().url_signal(travel_to_space.map_bool(
  + /// || "/assets/images/stars.png",
  + /// || "/assets/images/launch_pad.png",
  + /// )))
  + /// .child("Travel to space")
  + /// .on_click(move || traveling.set(!traveling.take()));
  + /// ```
  pub fn url_signal(
  mut self,
  url: impl Signal<Item = impl IntoCowStr<'static> + 'static> + Unpin + 'static,
  