Skip to content

Preset Tipografia ​

Fornisce un insieme di classi prose che puoi usare per aggiungere impostazioni tipografiche predefinite all'HTML puro.

Codice Sorgente

Installazione ​

bash
pnpm add -D @unocss/preset-typography
bash
yarn add -D @unocss/preset-typography
bash
npm install -D @unocss/preset-typography
bash
bun add -D @unocss/preset-typography

TIP

Questo preset è incluso nel pacchetto unocss, puoi anche importarlo da lì:

ts
import { presetTypography } from 'unocss'

Utilizzo ​

js
import {
  defineConfig,
  presetAttributify,
  presetTypography,
  presetWind3
} from 'unocss'

export default defineConfig({
  presets: [
    presetAttributify(), // richiesto quando si usa la modalità attributify
    presetWind3(), // richiesto
    presetTypography(),
  ],
})
html
<article class="text-base prose prose-truegray xl:text-xl">
  {{ markdown }}
  <p class="not-prose">Testo</p>
</article>
html
<article text-base prose prose-truegray xl="text-xl">
  {{ markdown }}
  <p class="not-prose">Testo</p>
</article>

WARNING

Nota: not-prose può essere usato solo come classe, non come attributo.

Caratteristiche principali ​

Qualsiasi dimensione del font ​

Applica qualsiasi dimensione del font per il body che preferisci e prose scalerà gli stili per i rispettivi elementi HTML. Ad esempio, prose text-lg ha la dimensione del font del body 1.125rem e h1 scalerà con quella dimensione 2.25 volte. Vedi tutti gli elementi HTML supportati.

Qualsiasi colore ​

Applica qualsiasi colore con prose-${colorName} di UnoCSS (ad es. prose-coolgray, prose-sky) poiché prose non ha alcun colore per impostazione predefinita. Vedi tutti i colori disponibili. Ad esempio, prose prose-truegray userà i rispettivi colori per i rispettivi elementi HTML.

Modalità scura con una singola utility ​

Applica la modalità tipografica scura con prose-invert (il colore di sfondo deve essere gestito dagli utenti). Ad esempio, prose dark:prose-invert userà i colori invertiti nella modalità scura.

Il tuo stile personale ​

Gli stili degli elementi non all'interno di prose rimarranno gli stessi. Nessun reset dello stile, proprio come UnoCSS.

Annulla con l'utility not ​

Applica not-prose agli elementi per annullare gli stili tipografici. Ad esempio, <table class="not-prose"> salterà gli stili di questo preset per l'elemento table (NOTA: l'utility not è utilizzabile solo come classe poiché è utilizzata solo nel selettore CSS e non viene scansionata da UnoCSS).

Opzioni di compatibilità ​

Questo preset usa alcune pseudo-classi che non sono ampiamente supportate, ma puoi disabilitarle. (#2064)

  • Se abiliti noColonNot o noColonWhere, not-prose non sarà disponibile.
  • Se abiliti noColonIs, la modalità attributify avrà un comportamento errato.

Utility ​

RegolaStili di questa regola
proseVedi su GitHub.

Colori ​

Regole (colore)
prose-rose
prose-pink
prose-fuchsia
prose-purple
prose-violet
prose-indigo
prose-blue
prose-sky
prose-cyan
prose-teal
prose-emerald
prose-green
prose-lime
prose-yellow
prose-amber
prose-orange
prose-red
prose-gray
prose-slate
prose-zinc
prose-neutral
prose-stone

Opzioni ​

Questo preset ha configurazioni selectorName e cssExtend per gli utenti che amano sovrascrivere o estendere.

TIP

Le dichiarazioni CSS passate a cssExtend:

  • sovrascriveranno gli stili incorporati se i valori sono in conflitto, altrimenti
  • verranno unite in profondità con gli stili incorporati.

selectorName ​

  • Tipo: string
  • Predefinito: prose

Il nome della classe per usare le utility tipografiche. Per annullare gli stili agli elementi, usalo come not-${selectorName} che per impostazione predefinita è not-prose.

TIP

L'utility not è disponibile solo come classe.

cssExtend ​

  • Tipo: Record<string, CSSObject>
  • Predefinito: undefined

Estendi o sovrascrivi i selettori CSS con un blocco di dichiarazione CSS.

compatibility ​

  • Tipo: TypographyCompatibilityOptions
  • Predefinito: undefined

Vedi Opzioni di compatibilità.

WARNING

Nota che influenzerà alcune funzionalità.

ts
interface TypographyCompatibilityOptions {
  noColonWhere?: boolean
  noColonIs?: boolean
  noColonNot?: boolean
}

Esempio ​

ts
import { presetTypography } from '@unocss/preset-typography'
import { defineConfig, presetAttributify, presetWind3 } from 'unocss'

export default defineConfig({
  presets: [
    presetAttributify(), // richiesto se si usa la modalità attributify
    presetWind3(), // richiesto
    presetTypography({
      selectorName: 'markdown', // ora usa come `markdown markdown-gray`, `not-markdown`
      // cssExtend è un oggetto con selettore CSS come chiave e
      // blocco di dichiarazione CSS come valore come scrivere CSS normale.
      cssExtend: {
        'code': {
          color: '#8b5cf6',
        },
        'a:hover': {
          color: '#f43f5e',
        },
        'a:visited': {
          color: '#14b8a6',
        },
      },
    }),
  ],
})

Ringraziamenti ​

Released under the MIT License.