Files
stack/packages/mosaic/framework/skills/vueuse-functions/references/useFullscreen.md
T
fargo 1a822493ba format: apply repo prettier (3.8.1) to the folded skills tree
963 markdown files reformatted with the repository's pinned prettier so
pnpm format:check covers the folded tree like every other repo file.

The formatter's embedded-language pass also normalized code fences
(TS semicolons, closed HTML tags in examples, lowercased CSS hex colors,
one renumbered list that skipped an index). Alphanumeric token deltas vs
the fold commit were audited file-by-file; all are formatter-equivalent
markup normalizations plus the four sanitized skills.
2026-08-19 14:37:17 -05:00

1.8 KiB

category
category
Browser

useFullscreen

Reactive Fullscreen API. It adds methods to present a specific Element (and its descendants) in full-screen mode, and to exit full-screen mode once it is no longer needed. This makes it possible to present desired content—such as an online game—using the user's entire screen, removing all browser user interface elements and other applications from the screen until full-screen mode is shut off.

Usage

import { useFullscreen } from '@vueuse/core';

const { isFullscreen, enter, exit, toggle } = useFullscreen();

Fullscreen specified element. Some platforms (like iOS's Safari) only allow fullscreen on video elements.

<script setup lang="ts">
import { useFullscreen } from '@vueuse/core';
import { useTemplateRef } from 'vue';

const el = useTemplateRef('el');
const { isFullscreen, enter, exit, toggle } = useFullscreen(el);
</script>

<template>
  <video ref="el" />
</template>

Component Usage

<template>
  <UseFullscreen v-slot="{ toggle }">
    <video />
    <button @click="toggle">Go Fullscreen</button>
  </UseFullscreen>
</template>

Type Declarations

export interface UseFullscreenOptions extends ConfigurableDocument {
  /**
   * Automatically exit fullscreen when component is unmounted
   *
   * @default false
   */
  autoExit?: boolean;
}
/**
 * Reactive Fullscreen API.
 *
 * @see https://vueuse.org/useFullscreen
 * @param target
 * @param options
 */
export declare function useFullscreen(
  target?: MaybeElementRef,
  options?: UseFullscreenOptions,
): {
  isSupported: ComputedRef<boolean>;
  isFullscreen: ShallowRef<boolean, boolean>;
  enter: () => Promise<void>;
  exit: () => Promise<void>;
  toggle: () => Promise<void>;
};
export type UseFullscreenReturn = ReturnType<typeof useFullscreen>;