Category | Browser |
---|---|
Export Size | 474 B |
Last Changed | 5 months ago |
Inject reactive style
element in head.
Provide a CSS string, then useStyleTag
will automatically generate an id and inject it in <head>
.
import { useStyleTag } from '@vueuse/core' const { id, css, load, unload, isLoaded, } = useStyleTag('.foo { margin-top: 32px; }') // Later you can modify styles css.value = '.foo { margin-top: 64px; }'
This code will be injected to <head>
:
<style type="text/css" id="vueuse_styletag_1"> .foo { margin-top: 64px; } </style>
If you need to define your own id, you can pass id
as first argument.
import { useStyleTag } from '@vueuse/core' useStyleTag('.foo { margin-top: 32px; }', { id: 'custom-id' })
<!-- injected to <head> --> <style type="text/css" id="custom-id"> .foo { margin-top: 32px; } </style>
You can pass media attributes as last argument within object.
useStyleTag('.foo { margin-top: 32px; }', { media: 'print' })
<!-- injected to <head> --> <style type="text/css" id="vueuse_styletag_1" media="print"> .foo { margin-top: 32px; } </style>
export interface UseStyleTagOptions extends ConfigurableDocument { /** * Media query for styles to apply */ media?: string /** * Load the style immediately * * @default true */ immediate?: boolean /** * Manual controls the timing of loading and unloading * * @default false */ manual?: boolean /** * DOM id of the style tag * * @default auto-incremented */ id?: string } export interface UseStyleTagReturn { id: string css: Ref<string> load: () => void unload: () => void isLoaded: Readonly<Ref<boolean>> } /** * Inject <style> element in head. * * Overload: Omitted id * * @see https://vueuse.org/useStyleTag * @param css * @param options */ export declare function useStyleTag( css: MaybeRef<string>, options?: UseStyleTagOptions ): UseStyleTagReturn
© 2019-present Anthony Fu
Licensed under the MIT License.
https://vueuse.org/core/useStyleTag/