---
category: Browser
---

# useCssVar

Manipulate CSS variables

## Usage

```ts
import { useCssVar } from '@vueuse/core';
import { useTemplateRef } from 'vue';

const el = useTemplateRef('el');
const color1 = useCssVar('--color', el);

const elv = useTemplateRef('elv');
const key = ref('--color');
const colorVal = useCssVar(key, elv);

const someEl = useTemplateRef('someEl');
const color2 = useCssVar('--color', someEl, { initialValue: '#eee' });
```

## Type Declarations

```ts
export interface UseCssVarOptions extends ConfigurableWindow {
  initialValue?: string;
  /**
   * Use MutationObserver to monitor variable changes
   * @default false
   */
  observe?: boolean;
}
/**
 * Manipulate CSS variables.
 *
 * @see https://vueuse.org/useCssVar
 * @param prop
 * @param target
 * @param options
 */
export declare function useCssVar(
  prop: MaybeRefOrGetter<string | null | undefined>,
  target?: MaybeElementRef,
  options?: UseCssVarOptions,
): ShallowRef<string | undefined, string | undefined>;
```
