İçeriğe atla

Tipografi

Başlıklar, ana metin, listeler, tablolar ve satır içi kodlar için genel amaçlı şablonlar — neobrütalist ağır stilinde dizilmiş.

Varsayılan olarak herhangi bir tipografi stili sunmuyoruz. Bu sayfa, metninizi stillendirmek için yardımcı sınıfları nasıl kullanabileceğinizin bir örneğidir.

Kurulacak bir typography bileşeni yoktur — varsayılan olarak hiçbir şey gelmez. Aşağıdaki her bölüm, düz bir HTML öğesi (h1h4, p, blockquote, table, listeler, satır içi kod) için kopyala-yapıştır bir utility sınıfı reçetesidir; temanın token'larına yaslanır, böylece başlıklar ağır, kenarlıklar kalın çıkar.

Şu durumlarda tercih edin:

  • Blog yazıları ve dokümantasyon — tutarlı uzun biçimli stil için MDX veya CMS çıktısını bu sınıflarla eşleyin.
  • Pazarlama sayfalarıh1, Lead ve Large; ayrı bir vitrin tipografi sistemine gerek kalmadan hero metnini karşılar.
  • @tailwindcss/typography fazla kaçtığında — prose eklentisini projeye almak yerine yalnızca ihtiyacınız olan öğeleri kopyalayın.

h1

Taxing Laughter: The Joke Tax Chronicles

export function TypographyH1() {
  return (
    <h1 className="scroll-m-20 text-center text-4xl font-extrabold tracking-tight text-balance">

h2

The People of the Kingdom

export function TypographyH2() {
  return (
    <h2 className="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0">

h3

The Joke Tax

export function TypographyH3() {
  return (
    <h3 className="scroll-m-20 text-2xl font-semibold tracking-tight">

h4

People stopped telling jokes

export function TypographyH4() {
  return (
    <h4 className="scroll-m-20 text-xl font-semibold tracking-tight">

p

The king, seeing how much happier his subjects were, realized the error of his ways and repealed the joke tax.

export function TypographyP() {
  return (
    <p className="leading-7 [&:not(:first-child)]:mt-6">

blockquote

"After all," he said, "everyone enjoys a good joke, so it's only fair that they should pay for the privilege."
export function TypographyBlockquote() {
  return (
    <blockquote className="mt-6 border-l-2 pl-6 italic">

table

export function TypographyTable() {
  return (
    <div className="my-6 w-full overflow-y-auto">

list

  • 1st level of puns: 5 gold coins
  • 2nd level of jokes: 10 gold coins
  • 3rd level of one-liners : 20 gold coins
export function TypographyList() {
  return (
    <ul className="my-6 ml-6 list-disc [&>li]:mt-2">

Satır içi kod

@radix-ui/react-alert-dialog
export function TypographyInlineCode() {
  return (
    <code className="relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold">

Giriş

A modal dialog that interrupts the user with important content and expects a response.

export function TypographyLead() {
  return (
    <p className="text-xl text-muted-foreground">

Büyük

Are you absolutely sure?
export function TypographyLarge() {
  return <div className="text-lg font-semibold">Are you absolutely sure?</div>
}

Küçük

Email address
export function TypographySmall() {
  return (
    <small className="text-sm leading-none font-medium">Email address</small>

Soluk

Enter your email address.

export function TypographyMuted() {
  return (
    <p className="text-sm text-muted-foreground">Enter your email address.</p>

RTL

Neobrutalism'de RTL desteğini etkinleştirmek için RTL yapılandırma kılavuzuna bakın.

"use client"

import * as React from "react"

Erişilebilirlik

Bu reçeteler yerel öğeleri stillendirir; dolayısıyla anlamsal yapı zaten doğrudur — öyle de kalsın. Başlık düzeylerini boyuta göre değil belge taslağına göre seçin: ekran okuyucular düzeye göre gezinir, bu yüzden bir h2 fazla büyük görünüyorsa h4'e uzanmak yerine onu yeniden stillendirin. Veri tablolarına <th> içeren bir başlık satırı verin ki hücreler sütunlarıyla ilişkili kalsın; blockquote'u da gerçek alıntılara ayırın.