Skip to content

Styling

The clock components use CSS custom properties for easy theming and customization.

CSS Custom Properties

PropertyDescriptionDefault
--cui-font-familyFont family for Arabic numeralsui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'
--cui-font-family-romanFont family for Roman numeralsui-serif, Georgia, Cambria, 'Times New Roman', Times, serif
--cui-bg-colorBackground color
#E8EBE4
--cui-primary-colorPrimary color (hands, numbers)
#13293D
--cui-secondary-colorSecondary color (face, ticks)
#E8EBE4
--cui-accent-colorAccent color (second hand)
#F55D3E

Advanced Customization

For more granular control over individual clock elements, you can use these additional CSS custom properties:

PropertyDescriptionDefault
--cui-face-colorClock face background color
#E8EBE4
--cui-frame-colorClock frame/border color
#13293D
--cui-tick-colorTick marks color
#13293D
--cui-number-colorHour numbers color
#13293D
--cui-info-colorInfo slot text color
#13293D
--cui-hand-colorBase color for all clock hands
#13293D
--cui-hand-accent-colorAccent color for dual-tone hands
#E8EBE4
--cui-hour-hand-colorHour hand color
#13293D
--cui-hour-hand-accent-colorHour hand accent color (dual-tone)
#E8EBE4
--cui-minute-hand-colorMinute hand color
#13293D
--cui-minute-hand-accent-colorMinute hand accent color (dual-tone)
#E8EBE4
--cui-second-hand-colorSecond hand color
#F55D3E
--cui-pin-colorCenter pin/dot color
#13293D

Styling

The component uses CSS custom properties for theming. You can customize the appearance by overriding these variables:

css
/* Import Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Noto+Serif+Display:wght@400;500;600;700&display=swap");

.custom-clock-class {
  --cui-font-family: "Cinzel", serif;
  --cui-font-family-roman: "Noto Serif Display", serif;

  --cui-bg-color: #0d1b2a;
  --cui-primary-color: #ffe0b5;
  --cui-secondary-color: #251101;
  --cui-accent-color: #690500;
}
vue
<LiveClock class="custom-clock-class" />

Advanced Example

For more detailed customization, you can override individual element colors:

css
.advanced-custom-clock {
  /* Override specific elements */
  --cui-face-color: #1a1a2e;
  --cui-frame-color: #16213e;
  --cui-tick-color: #0f3460;
  --cui-number-color: #e94560;
  --cui-info-color: #0f3460;

  /* Customize hands individually */
  --cui-hour-hand-color: #16213e;
  --cui-hour-hand-accent-color: #e94560;
  --cui-minute-hand-color: #16213e;
  --cui-minute-hand-accent-color: #e94560;
  --cui-second-hand-color: #f39c12;
  --cui-pin-color: #e94560;
}
vue
<LiveClock class="advanced-custom-clock" />

Dark Mode

css
@media (prefers-color-scheme: dark) {
  :root {
    --cui-bg-color: #13293d;
    --cui-primary-color: #e8ebe4;
    --cui-secondary-color: #13293d;
    --cui-accent-color: #f55d3e;

    /* Advanced dark mode customization */
    --cui-face-color: #1a2633;
    --cui-frame-color: #0f1419;
    --cui-tick-color: #4a5d6a;
    --cui-number-color: #b8c5d1;
    --cui-info-color: #4a5d6a;
    --cui-hand-color: #b8c5d1;
    --cui-hand-accent-color: #1a2633;
    --cui-hour-hand-color: #b8c5d1;
    --cui-hour-hand-accent-color: #1a2633;
    --cui-minute-hand-color: #b8c5d1;
    --cui-minute-hand-accent-color: #1a2633;
    --cui-second-hand-color: #f55d3e;
    --cui-pin-color: #b8c5d1;
  }
}

Released under the MIT License.