
Hebrew Tailwind Preset
- 74 installs
- 21 repo stars
- Updated August 3, 2026
- skills-il/localization
Hebrew Tailwind Preset is an agent skill that configures Tailwind CSS v4 for Hebrew RTL with dir variants, logical utilities, and Hebrew font stacks.
About
Hebrew Tailwind Preset is an agent skill for solo builders shipping Hebrew, right-to-left interfaces with Tailwind CSS v4. Instead of fighting physical left/right classes, you get dir-aware variants, logical spacing utilities, and opinionated font stacks tuned for Israeli users. The skill activates when someone asks for Tailwind RTL setup, Hebrew config, logical properties, or ms-/me- usage—common prompts during a Next.js, Vite, or Capacitor web layer build. It covers variant configuration, utility patterns, and component templates so agents do not regress LTR defaults into production CSS. Prism lists it under build/frontend because localization is part of implementation, though it pairs naturally with validate-phase landing pages targeting Hebrew markets. Scope stays intentionally narrow: reach for companion skills for cross-framework RTL rules or a full Israeli UI design system. Intermediate familiarity with Tailwind and basic RTL concepts helps; beginners can still follow if they already adopted v4 in the repo.
- Tailwind CSS v4 dir variants for RTL-first styling
- Hebrew font stack presets (Heebo, Assistant, Noto Sans Hebrew)
- Logical property utilities including ms-/me- patterns
- RTL-first component patterns and Hebrew typography tokens
- Explicit boundaries: not general RTL CSS (hebrew-rtl-best-practices) or full design systems (israeli-ui-design-system)
Hebrew Tailwind Preset by the numbers
- 74 all-time installs (skills.sh)
- Ranked #1,139 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/skills-il/localization --skill hebrew-tailwind-presetAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 74 |
|---|---|
| repo stars | ★ 21 |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 3, 2026 |
| Repository | skills-il/localization ↗ |
What it does
Configure Tailwind CSS v4 for Hebrew RTL apps with dir variants, logical utilities, and Hebrew font stacks.
Who is it for?
Best when you're standardizing on Tailwind v4 for Israeli Hebrew audiences.
Skip if: Projects needing framework-agnostic RTL CSS only (use hebrew-rtl-best-practices) or a complete Israeli design system (use israeli-ui-design-system).
When should I use this skill?
User asks about Tailwind RTL setup, Hebrew Tailwind config, RTL utility classes, logical properties (ms-/me-), or Hebrew font configuration in Tailwind.
What you get
Your agent applies v4-ready RTL Tailwind patterns—dir variants, logical ms/me utilities, Hebrew fonts, and component templates—consistent with skills-il localization guidance.
- Tailwind config and preset guidance for Hebrew RTL
- RTL-first component utility patterns
- Hebrew typography token recommendations
By the numbers
- Covers Tailwind v4 dir variants and three named Hebrew font families in the preset scope
Files
Hebrew Tailwind Preset
Tailwind CSS v4 recommended (current release v4.3, May 2026); v3.1+ is compatible for dir variants. Works with React, Vue, Angular, Next.js, and Nuxt. No network required.
Instructions
Step 1: Install and Configure Tailwind v4 for RTL
See references/rtl-config.md for complete configuration reference.
Install the Tailwind v4 build plugin first. Tailwind v4 dropped the automatic tailwind.config.js loading, so @import "tailwindcss" alone will not build until a build plugin is wired. Pick the one matching your toolchain:
# Vite (recommended): install the first-party Vite plugin
npm install tailwindcss @tailwindcss/vite// vite.config.js -- add the plugin
import { defineConfig } from 'vite';
import tailwindcss from '@tailwindcss/vite';
export default defineConfig({
plugins: [tailwindcss()],
});# PostCSS-based toolchains (Next.js, Webpack, etc.)
npm install tailwindcss @tailwindcss/postcss postcss// postcss.config.mjs
export default {
plugins: { '@tailwindcss/postcss': {} },
};In v4 the @tailwindcss/postcss plugin handles @import inlining and vendor prefixing, so postcss-import and autoprefixer are no longer needed.
Then load Hebrew fonts with font-display: swap (via a Google Fonts <link> or an @font-face rule) to avoid a Flash of Invisible Text while the Hebrew font file loads. See Step 2 for the snippet.
Tailwind v4 (CSS-first configuration):
/* app.css -- imported by your build entry */
@import "tailwindcss";
@theme {
/* Hebrew font stacks */
--font-hebrew: 'Heebo', 'Assistant', 'Noto Sans Hebrew', sans-serif;
--font-hebrew-serif: 'Frank Ruhl Libre', 'David Libre', serif;
--font-mono: 'Fira Code', 'Source Code Pro', monospace;
/* Hebrew-optimized type scale */
--text-xs: 0.8125rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
--text-2xl: 1.5rem;
--text-3xl: 1.875rem;
--text-4xl: 2.25rem;
/* Hebrew line heights (taller than Latin defaults) */
--leading-tight: 1.4;
--leading-normal: 1.7;
--leading-relaxed: 1.9;
}Tailwind v3 (JavaScript configuration):
// tailwind.config.js
module.exports = {
content: ['./src/**/*.{html,js,jsx,tsx}'],
theme: {
extend: {
fontFamily: {
hebrew: ['Heebo', 'Assistant', 'Noto Sans Hebrew', 'sans-serif'],
'hebrew-serif': ['Frank Ruhl Libre', 'David Libre', 'serif'],
},
lineHeight: {
'hebrew': '1.7',
'hebrew-tight': '1.4',
'hebrew-relaxed': '1.9',
},
},
},
plugins: [],
};Load the Hebrew fonts with `font-display: swap`. Either add a Google Fonts <link> in your HTML head:
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;700&family=Assistant:wght@400;600&display=swap" rel="stylesheet">Or self-host with an @font-face rule inside the same CSS file as your @theme block:
@font-face {
font-family: 'Heebo';
src: url('/fonts/heebo-variable.woff2') format('woff2');
font-weight: 400 700;
font-display: swap;
}The &display=swap query param (link) and the font-display: swap descriptor (@font-face) both make the browser render fallback text immediately instead of hiding text until the Hebrew font loads.
Next.js: wire `next/font` through `@theme inline`. When you self-host with next/font (recommended for Next.js: no external request, no layout shift), the font is exposed as a CSS variable, and @theme cannot reference a runtime variable directly. Use @theme inline so the variable resolves at the use site:
/* app.css */
@import "tailwindcss";
@theme inline {
--font-hebrew: var(--font-heebo); /* --font-heebo comes from next/font */
}// layout.tsx
import { Heebo } from 'next/font/google';
const heebo = Heebo({ subsets: ['hebrew', 'latin'], variable: '--font-heebo' });
// <html lang="he" dir="rtl" className={heebo.variable}> ... </html>Plain @theme { --font-hebrew: var(--font-heebo); } (without inline) breaks, because Tailwind tries to resolve the variable at build time when it does not yet exist.
Step 2: Use Logical Property Utilities
Tailwind v4's native logical utilities and rtl:/ltr: variants cover RTL on their own, so the old community tailwindcss-rtl plugin is no longer needed. Always prefer logical utilities over physical directional ones:
| Physical (avoid) | Logical (use) | RTL Behavior |
|---|---|---|
ml-4 | ms-4 | Right margin in RTL |
mr-4 | me-4 | Left margin in RTL |
pl-4 | ps-4 | Right padding in RTL |
pr-4 | pe-4 | Left padding in RTL |
left-0 | inset-s-0 | Right: 0 in RTL (v4.3+; start-0 is the deprecated alias) |
right-0 | inset-e-0 | Left: 0 in RTL (v4.3+; end-0 is the deprecated alias) |
border-l | border-s | Right border in RTL |
border-r | border-e | Left border in RTL |
rounded-l-lg | rounded-s-lg | Right rounded in RTL |
rounded-r-lg | rounded-e-lg | Left rounded in RTL |
text-left | text-start | Right-aligned in RTL |
text-right | text-end | Left-aligned in RTL |
scroll-ml-4 | scroll-ms-4 | Right scroll margin in RTL |
Tailwind v4.3 inset rename. As of v4.3 (May 2026) the logical positioning utilities start-*/end-* are deprecated in favor of inset-s-*/inset-e-* (so they line up with inset-bs-*/inset-be-*). The old names still work, but prefer inset-s-0/inset-e-0 in new code. This rename affects only inset/positioning; the margin/padding/border utilities ms-*/me-*/ps-*/pe-*/border-s/border-e are unchanged. Arbitrary values compose with logical utilities too (e.g. ms-[3px], inset-s-[10px]).
Step 3: Use Dir Variants for RTL-Specific Styles
Prerequisite: the rtl: and ltr: variants (built into Tailwind v4) match on an ancestor's dir attribute. They do nothing unless an ancestor element actually carries dir="rtl" (or dir="ltr") - normally the <html> element. Set dir="rtl" on the root before relying on any rtl: utility below. Because these variants resolve via the CSS :dir() pseudo-class, they also respond correctly to dir="auto" on mixed Hebrew/English user content, not only an explicit dir="rtl".
Dark mode in v4. The v3 darkMode config key is gone. In v4 you opt into class-based dark mode in CSS with @custom-variant dark (&:where(.dark, .dark *));, then combine freely with direction, e.g. class="dark:bg-gray-900 rtl:text-right". Set dir="rtl" on <html> and toggle .dark on the same element.
When you need direction-specific overrides:
<!-- Root setup -- dir="rtl" here is what activates every rtl: variant -->
<html lang="he" dir="rtl">
<!-- Dir variant usage -->
<div class="flex rtl:flex-row-reverse">
<span class="rtl:rotate-180">→</span>
<span>הבא</span>
</div>
<!-- Icon mirroring for directional icons -->
<button class="flex items-center gap-2">
<svg class="rtl:scale-x-[-1]"><!-- arrow icon --></svg>
<span>חזרה</span>
</button>
<!-- Conditional spacing that differs by direction -->
<div class="ltr:ml-auto rtl:mr-auto">
<!-- Push to end in both directions -->
</div>Step 4: Hebrew Typography Utilities
<!-- Hebrew body text with proper settings -->
<body dir="rtl" class="font-hebrew text-base leading-hebrew
tracking-normal">
<!-- Hebrew heading -->
<h1 class="text-3xl font-bold leading-hebrew-tight">
כותרת ראשית
</h1>
<!-- Hebrew paragraph -->
<p class="text-base leading-hebrew [word-spacing:0.05em]">
טקסט גוף עם ריווח מותאם לקריאות עברית.
</p>
<!-- Mixed Hebrew + English content -->
<p class="text-base leading-hebrew">
פריט מספר <span dir="ltr" class="font-mono">ORD-12345</span> אושר
</p>
</body>Step 5: RTL-First Component Patterns with Tailwind
RTL-first card:
<div class="rounded-lg border border-gray-200 p-6">
<div class="flex items-center justify-between mb-4
border-b border-gray-100 pb-4">
<h3 class="text-lg font-bold">כותרת הכרטיס</h3>
<span class="text-sm text-gray-500">פעיל</span>
</div>
<p class="text-base leading-hebrew text-gray-700">
תוכן הכרטיס עם טקסט בעברית.
</p>
<div class="mt-4 flex gap-3">
<button class="bg-blue-600 text-white px-4 py-2 rounded-md">
אישור
</button>
<button class="border border-gray-300 px-4 py-2 rounded-md">
ביטול
</button>
</div>
</div>RTL-first navigation:
<nav dir="rtl" class="flex items-center justify-between
px-6 py-4 bg-white border-b">
<div class="flex items-center gap-3">
<img src="/logo.svg" alt="לוגו" class="h-8">
<span class="font-bold text-xl">שם האתר</span>
</div>
<ul class="flex gap-6 text-sm font-medium">
<li><a href="/" class="text-blue-600">ראשי</a></li>
<li><a href="/about" class="text-gray-600">אודות</a></li>
<li><a href="/contact" class="text-gray-600">צור קשר</a></li>
</ul>
</nav>RTL-first sidebar layout:
<div class="grid grid-cols-[280px_1fr] min-h-screen">
<!-- Sidebar: appears on right in RTL automatically -->
<aside class="border-e border-gray-200 pe-6 p-4">
<nav class="space-y-2">
<a href="#" class="block ps-4 py-2 rounded-md
bg-blue-50 text-blue-700 border-s-4
border-blue-600">לוח בקרה</a>
<a href="#" class="block ps-4 py-2 rounded-md
text-gray-600">הגדרות</a>
</nav>
</aside>
<!-- Main content -->
<main class="p-6">
<h1 class="text-2xl font-bold mb-6">לוח בקרה</h1>
</main>
</div>Step 6: Form Utilities for Hebrew
<form dir="rtl" class="max-w-lg space-y-6">
<div>
<label for="name" class="block text-sm font-medium
text-gray-700 mb-2">שם מלא</label>
<input id="name" type="text"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base font-hebrew
focus:outline-none focus:ring-2
focus:ring-blue-500">
</div>
<div>
<label for="phone" class="block text-sm font-medium
text-gray-700 mb-2">טלפון</label>
<input id="phone" type="tel" dir="ltr"
placeholder="05X-XXXXXXX"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base
focus:outline-none focus:ring-2
focus:ring-blue-500">
</div>
<div>
<label for="message" class="block text-sm font-medium
text-gray-700 mb-2">הודעה</label>
<textarea id="message" rows="4"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base font-hebrew
leading-hebrew
focus:outline-none focus:ring-2
focus:ring-blue-500"></textarea>
</div>
<button type="submit"
class="w-full bg-blue-600 text-white py-3
rounded-md font-medium text-base
hover:bg-blue-700 transition-colors">
שליחה
</button>
</form>Examples
Example 1: Set Up Tailwind for Hebrew Project
User says: "Configure Tailwind for my Hebrew web app" Result: Add Hebrew font families to Tailwind theme, configure Hebrew-optimized line heights, set up dir="rtl" on root HTML element, and demonstrate using logical utilities (ms-/me-/ps-/pe-) instead of physical ones (ml-/mr-/pl-/pr-).
Example 2: Convert LTR Tailwind Component to RTL
User says: "Make this Tailwind component work in Hebrew RTL" Result: Replace all physical utility classes with logical equivalents (ml- to ms-, pl- to ps-, text-left to text-start, border-l to border-s, rounded-l to rounded-s), add rtl: variants for directional icons, and set font-hebrew class on text elements.
Example 3: Build Hebrew Dashboard with Tailwind
User says: "Create a Hebrew admin dashboard layout with Tailwind" Result: Build grid layout with RTL sidebar (border-e, pe-6), navigation with Hebrew font and RTL flow, card components using logical spacing, and form elements with proper Hebrew typography (font-hebrew, leading-hebrew).
Bundled Resources
References
references/rtl-config.md-- Complete Tailwind CSS RTL configuration reference: v4 CSS-first and v3 JavaScript config examples, full physical-to-logical utility mapping table, dir variant usage patterns, Hebrew font stack presets, typography token definitions, and migration guide from physical to logical utilities.
Gotchas
- Tailwind CSS v3+ supports RTL variants (
rtl:prefix), but agents often do not use them, instead hardcodingmr-4when they should usems-4(margin-start) for RTL compatibility. - The
space-x-4utility in Tailwind does not respect RTL direction. Agents must usegap-4with flex or grid, or manually addrtl:space-x-reverseto flip spacing direction. - Custom font declarations for Hebrew must include
font-display: swapto prevent FOIT (Flash of Invisible Text). Agents may omit this, causing Hebrew text to disappear during font loading. - Tailwind's
text-leftandtext-rightare physical properties. Usetext-startandtext-endclasses for RTL-aware alignment. Agents default to physical direction classes. - Gradient and shadow direction is physical, not logical:
bg-gradient-to-rand offset shadows do not flip in RTL. Add artl:override (e.g.rtl:bg-gradient-to-l) when the direction is meaningful.
Reference Links
| Source | URL | What to Check |
|---|---|---|
| Tailwind CSS docs | https://tailwindcss.com/docs | Current configuration syntax, v4 migration notes |
| Tailwind RTL / logical properties | https://tailwindcss.com/docs/hover-focus-and-other-states#rtl-support | rtl: and ltr: variants |
| Google Fonts – Heebo | https://fonts.google.com/specimen/Heebo | Hebrew UI font, weights, loading snippet |
| Google Fonts – Assistant | https://fonts.google.com/specimen/Assistant | Hebrew body font |
| MDN font-display | https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display | swap value and FOIT mitigation |
Troubleshooting
Error: "Tailwind logical utilities not working"
Cause: Using older Tailwind version without logical property support Solution: Logical utilities (ms-, me-, ps-, pe-, and inset inset-s-/inset-e-, formerly start-/end-) require Tailwind v3.3+. For v3.0-3.2, use rtl:/ltr: variants instead (e.g., rtl:mr-4 ltr:ml-4). Tailwind v4 has full logical property support built in; the inset-s-*/inset-e-* names landed in v4.3 (the older start-*/end-* still resolve).
Error: "Font not applying with font-hebrew class"
Cause: Hebrew font family not defined in Tailwind configuration Solution: Add the Hebrew font stack to your Tailwind theme under fontFamily.hebrew. Ensure the font CSS is imported (Google Fonts link or local @font-face). Verify the class name matches your config key.
Error: "Sidebar appears on wrong side in RTL"
Cause: Grid or flex layout not respecting dir attribute Solution: CSS Grid and Flexbox automatically respect dir="rtl". Ensure dir="rtl" is set on the html element. Use logical properties for borders (border-e instead of border-r) and padding (pe- instead of pr-). Keep the CSS direction value consistent with the HTML dir attribute - prefer setting direction via the dir attribute so the cascade and the rtl:/ltr: variants stay in sync; if you do set direction in CSS, make sure it matches dir.
{
"schemaVersion": "1.0",
"skill": "hebrew-tailwind-preset",
"generated_at": "2026-06-21T00:00:00Z",
"claims": [
{
"claim_id": "tailwind-v4-current",
"claim": "Tailwind CSS v4 is GA (current release v4.3, May 2026) and uses CSS-first configuration via @import \"tailwindcss\"; v4 dropped automatic tailwind.config.js loading and needs a build plugin (@tailwindcss/vite or @tailwindcss/postcss).",
"source_url": "https://tailwindcss.com/docs",
"raw_snippet": "Tailwind CSS works by scanning all of your HTML files, JavaScript components, and any other templates for class names, generating the corresponding styles and then writing them to a static CSS file.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "tailwind-v43-inset-deprecation",
"claim": "As of Tailwind v4.3 (May 2026) the logical inset utilities start-*/end-* are deprecated in favor of inset-s-*/inset-e-* (old names still work); margin/padding ms-/me-/ps-/pe- are unaffected.",
"source_url": "https://tailwindcss.com/blog/tailwindcss-v4-3",
"raw_snippet": "The existing start-* and end-* utilities are still available, but they're now deprecated in favor of inset-s-* and inset-e-* so the whole API lines up with inset-bs-* and inset-be-*.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md", "references/rtl-config.md"]
},
{
"claim_id": "tailwind-rtl-variant",
"claim": "Tailwind provides built-in rtl: and ltr: variants for direction-specific styling, resolved via the CSS :dir() pseudo-class so they respond to dir=\"auto\" as well as explicit dir=\"rtl\".",
"source_url": "https://tailwindcss.com/docs/hover-focus-and-other-states#rtl-support",
"raw_snippet": "Use the rtl and ltr variants to conditionally add styles in right-to-left and left-to-right modes respectively when building multi-directional layouts.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "theme-inline-nextfont",
"claim": "Tailwind v4 @theme inline resolves CSS variables at the use site, which is required when wiring next/font (which exposes the font as a runtime CSS variable); plain @theme cannot reference a runtime variable.",
"source_url": "https://tailwindcss.com/docs/theme",
"raw_snippet": "Use the inline option when you want your theme variables to be resolved inline, referencing other variables by value rather than by reference.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "dark-mode-custom-variant",
"claim": "In Tailwind v4 the darkMode config key is gone; class-based dark mode is opted into in CSS with @custom-variant dark (&:where(.dark, .dark *));.",
"source_url": "https://tailwindcss.com/docs/dark-mode",
"raw_snippet": "To use class-based dark mode instead of the prefers-color-scheme media query, use the @custom-variant directive to override the dark variant.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "heebo-google-font",
"claim": "Heebo is a Hebrew UI font available on Google Fonts.",
"source_url": "https://fonts.google.com/specimen/Heebo",
"raw_snippet": "Heebo is a Hebrew and Latin typeface family available on Google Fonts.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "assistant-google-font",
"claim": "Assistant is a Hebrew body font available on Google Fonts.",
"source_url": "https://fonts.google.com/specimen/Assistant",
"raw_snippet": "Assistant is a Hebrew and Latin sans-serif typeface available on Google Fonts.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "google-fonts-host-gstatic",
"claim": "fonts.gstatic.com is the Google Fonts static host serving font binary files; preconnect to it for faster loading.",
"source_url": "https://fonts.gstatic.com",
"raw_snippet": "fonts.gstatic.com is the Google Fonts static content host that serves the font binary files.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "google-fonts-host-apis",
"claim": "fonts.googleapis.com serves the Google Fonts stylesheet; preconnect to it for faster loading.",
"source_url": "https://fonts.googleapis.com",
"raw_snippet": "fonts.googleapis.com is the Google Fonts API host that serves the generated CSS stylesheet.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "google-fonts-css2-link",
"claim": "The Google Fonts css2 endpoint loads Heebo and Assistant with font-display: swap via a stylesheet link.",
"source_url": "https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;700&family=Assistant:wght@400;600&display=swap",
"raw_snippet": "The css2 endpoint returns @font-face rules for the requested families (Heebo, Assistant) with the requested weights and display=swap.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
},
{
"claim_id": "font-display-swap",
"claim": "The font-display: swap descriptor renders fallback text immediately and swaps in the web font when loaded, mitigating FOIT.",
"source_url": "https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display",
"raw_snippet": "swap: Gives the font face a zero second block period and an infinite swap period.",
"fetched_at": "2026-06-21T00:00:00Z",
"appears_in": ["SKILL.md", "SKILL_HE.md"]
}
]
}
{
"author": "skills-il",
"version": "1.1.0",
"category": "localization",
"tags": {
"he": [
"Tailwind",
"RTL",
"עברית",
"CSS",
"עיצוב"
],
"en": [
"tailwind",
"rtl",
"hebrew",
"css",
"design"
]
},
"display_name": {
"he": "תצורת Tailwind לעברית",
"en": "Hebrew Tailwind Preset"
},
"display_description": {
"he": "הגדרות Tailwind CSS v4 לאפליקציות RTL בעברית: וריאנטי dir, מחסניות גופנים עבריות וכלי שירות לוגיים. השתמשו כשהמשתמש שואל על הגדרת Tailwind RTL, תצורת Tailwind עברי, מחלקות שירות ל-RTL, תכונות לוגיות ב-Tailwind, שימוש ב-ms-/me- או הגדרת גופנים עבריים ב-Tailwind. מכסה וריאנטי dir ב-v4, מחסניות גופנים (Heebo, Assistant, Noto Sans Hebrew), כלי שירות לוגיים, תבניות רכיבים RTL-first וטוקני טיפוגרפיה לעברית. אל תשתמשו בשביל תבניות CSS RTL כלליות (מעבר ל-hebrew-rtl-best-practices) או למערכות עיצוב מלאות (מעבר ל-israeli-ui-design-system).",
"en": "Configure Tailwind CSS v4 for Hebrew RTL applications with dir variants, Hebrew font stacks, and logical property utilities. Use when user asks about Tailwind RTL setup, Hebrew Tailwind config, \"Tailwind ivrit\", RTL utility classes, logical properties in Tailwind, ms-/me- utilities, or Tailwind Hebrew font configuration. Covers Tailwind v4 dir variants, Hebrew font stack presets, logical property utilities, RTL-first component patterns, and Hebrew typography tokens. Do NOT use for general CSS RTL patterns (use hebrew-rtl-best-practices) or full design systems (use israeli-ui-design-system instead)."
},
"supported_agents": [
"claude-code",
"cursor",
"github-copilot",
"windsurf",
"opencode",
"codex",
"antigravity",
"gemini-cli"
]
}
{
"cycles": [
{
"version": "1.1.0",
"date": "2026-06-21",
"lessons": [
"Applied freshness: framing -> v4 current (v4.3); v4.3 start-*/end- inset deprecation -> inset-s-*/inset-e-* (SKILL + rtl-config.md table + migration list); native v4 logical utilities make tailwindcss-rtl plugin unnecessary.",
"Applied coverage (CRITICAL): Next.js next/font wired via @theme inline (plain @theme breaks on runtime var); v4 dark mode via @custom-variant (darkMode config key gone); dir=auto interaction with rtl: variants; gradient/shadow direction gotcha.",
"Deferred (MAJOR, next cycle): @variant/@custom-variant deeper coverage; @tailwindcss/typography prose RTL handling; @plugin directive form for v4. Deferred (MINOR): more arbitrary-logical-value examples.",
"Description unchanged this cycle -> Phase 5.7 eval skipped."
]
}
]
}
Tailwind CSS RTL Configuration Reference
Tailwind v4 Configuration (CSS-first)
@import "tailwindcss";
@theme {
/* Hebrew font stacks */
--font-hebrew: 'Heebo', 'Assistant', 'Noto Sans Hebrew', sans-serif;
--font-hebrew-serif: 'Frank Ruhl Libre', 'David Libre', serif;
--font-mono: 'Fira Code', 'Source Code Pro', monospace;
/* Hebrew-optimized type scale */
--text-xs: 0.8125rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
--text-2xl: 1.5rem;
--text-3xl: 1.875rem;
--text-4xl: 2.25rem;
/* Hebrew line heights */
--leading-tight: 1.4;
--leading-normal: 1.7;
--leading-relaxed: 1.9;
}Tailwind v3 Configuration (JavaScript)
// tailwind.config.js
module.exports = {
content: ['./src/**/*.{html,js,jsx,tsx}'],
theme: {
extend: {
fontFamily: {
hebrew: ['Heebo', 'Assistant', 'Noto Sans Hebrew', 'sans-serif'],
'hebrew-serif': ['Frank Ruhl Libre', 'David Libre', 'serif'],
},
lineHeight: {
'hebrew': '1.7',
'hebrew-tight': '1.4',
'hebrew-relaxed': '1.9',
},
},
},
plugins: [],
};Complete Logical-to-Physical Utility Mapping
Margin
| Physical | Logical | Description |
|---|---|---|
ml-* | ms-* | Margin inline start |
mr-* | me-* | Margin inline end |
ml-auto | ms-auto | Auto margin inline start |
mr-auto | me-auto | Auto margin inline end |
Padding
| Physical | Logical | Description |
|---|---|---|
pl-* | ps-* | Padding inline start |
pr-* | pe-* | Padding inline end |
Positioning
| Physical | Logical | Description |
|---|---|---|
left-* | inset-s-* | Inset inline start (was start-*) |
right-* | inset-e-* | Inset inline end (was end-*) |
As of Tailwind v4.3 (May 2026) the inset utilities start-*/end-* are deprecated in favor of inset-s-*/inset-e-* so the API lines up with inset-bs-*/inset-be-*. The old start-*/end-* names still work. This rename affects only inset/positioning; ms-*/me-*/ps-*/pe-*/border-s/border-e are unchanged.
Border
| Physical | Logical | Description |
|---|---|---|
border-l | border-s | Border inline start |
border-r | border-e | Border inline end |
border-l-* | border-s-* | Border width inline start |
border-r-* | border-e-* | Border width inline end |
Border Radius
| Physical | Logical | Description |
|---|---|---|
rounded-l-* | rounded-s-* | Border radius inline start |
rounded-r-* | rounded-e-* | Border radius inline end |
rounded-tl-* | rounded-ss-* | Border radius start-start |
rounded-tr-* | rounded-se-* | Border radius start-end |
rounded-bl-* | rounded-es-* | Border radius end-start |
rounded-br-* | rounded-ee-* | Border radius end-end |
Text Alignment
| Physical | Logical | Description |
|---|---|---|
text-left | text-start | Align to start (right in RTL) |
text-right | text-end | Align to end (left in RTL) |
Scroll
| Physical | Logical | Description |
|---|---|---|
scroll-ml-* | scroll-ms-* | Scroll margin inline start |
scroll-mr-* | scroll-me-* | Scroll margin inline end |
scroll-pl-* | scroll-ps-* | Scroll padding inline start |
scroll-pr-* | scroll-pe-* | Scroll padding inline end |
Dir Variant Patterns
Icon Mirroring
<!-- Directional icons: mirror in RTL -->
<svg class="rtl:scale-x-[-1]"><!-- arrow, chevron, back --></svg>
<!-- Non-directional icons: do NOT mirror -->
<svg><!-- search, home, settings, close --></svg>Conditional Flex Direction
<!-- Reverse flex in RTL when needed -->
<div class="flex rtl:flex-row-reverse">...</div>Conditional Positioning
<!-- Position at the "end" side -->
<span class="absolute top-0 rtl:left-0 ltr:right-0">...</span>Migration Guide: Physical to Logical
Search and replace in your templates:
1. ml- -> ms- (except ml-auto -> ms-auto) 2. mr- -> me- (except mr-auto -> me-auto) 3. pl- -> ps- 4. pr- -> pe- 5. text-left -> text-start 6. text-right -> text-end 7. left- -> inset-s- (v4.3+; start- still works but is deprecated) 8. right- -> inset-e- (v4.3+; end- still works but is deprecated) 9. border-l -> border-s 10. border-r -> border-e 11. rounded-l- -> rounded-s- 12. rounded-r- -> rounded-e-
Note: float-left -> float-start and float-right -> float-end require Tailwind v3.3+ or v4.
תצורת Tailwind לעברית
מומלץ Tailwind CSS v4 (גרסה עדכנית v4.3, מאי 2026); גרסה v3.1+ תואמת עבור וריאנטי dir. עובד עם React, Vue, Angular, Next.js ו-Nuxt. לא דורש רשת.
הנחיות
שלב 1: התקנה והגדרה של Tailwind v4 ל-RTL
תסתכלו על references/rtl-config.md למדריך תצורה מלא.
קודם כל תתקינו את תוסף ה-build של Tailwind v4. ב-v4 בוטלה הטעינה האוטומטית של tailwind.config.js, ולכן @import "tailwindcss" לבדו לא יבנה עד שמחברים תוסף build. תבחרו את זה שמתאים לכלי שלכם:
# Vite (מומלץ): התקנת תוסף ה-Vite הרשמי
npm install tailwindcss @tailwindcss/vite// vite.config.js -- הוספת התוסף
import { defineConfig } from 'vite';
import tailwindcss from '@tailwindcss/vite';
export default defineConfig({
plugins: [tailwindcss()],
});# כלים מבוססי PostCSS (Next.js, Webpack וכו')
npm install tailwindcss @tailwindcss/postcss postcss// postcss.config.mjs
export default {
plugins: { '@tailwindcss/postcss': {} },
};ב-v4 התוסף @tailwindcss/postcss מטפל בהטמעת @import ובהוספת קידומות יצרן, ולכן postcss-import ו-autoprefixer כבר לא נחוצים.
אחר כך תטענו את הגופנים העבריים עם font-display: swap (דרך <link> של Google Fonts או כלל @font-face) כדי למנוע הבזק של טקסט בלתי נראה בזמן טעינת קובץ הגופן העברי. תראו את שלב 2 לקטע הקוד.
Tailwind v4 (תצורה מבוססת CSS):
/* app.css -- מיובא על ידי נקודת הכניסה של ה-build */
@import "tailwindcss";
@theme {
/* מחסניות גופנים עבריות */
--font-hebrew: 'Heebo', 'Assistant', 'Noto Sans Hebrew', sans-serif;
--font-hebrew-serif: 'Frank Ruhl Libre', 'David Libre', serif;
--font-mono: 'Fira Code', 'Source Code Pro', monospace;
/* סולם גדלים מותאם לעברית */
--text-xs: 0.8125rem;
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
--text-2xl: 1.5rem;
--text-3xl: 1.875rem;
--text-4xl: 2.25rem;
/* גובהי שורה לעברית (גבוהים מברירת המחדל הלטינית) */
--leading-tight: 1.4;
--leading-normal: 1.7;
--leading-relaxed: 1.9;
}Tailwind v3 (תצורת JavaScript):
// tailwind.config.js
module.exports = {
content: ['./src/**/*.{html,js,jsx,tsx}'],
theme: {
extend: {
fontFamily: {
hebrew: ['Heebo', 'Assistant', 'Noto Sans Hebrew', 'sans-serif'],
'hebrew-serif': ['Frank Ruhl Libre', 'David Libre', 'serif'],
},
lineHeight: {
'hebrew': '1.7',
'hebrew-tight': '1.4',
'hebrew-relaxed': '1.9',
},
},
},
plugins: [],
};תטענו את הגופנים העבריים עם `font-display: swap`. אפשר להוסיף <link> של Google Fonts ל-head של ה-HTML:
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;700&family=Assistant:wght@400;600&display=swap" rel="stylesheet">או לארח את הגופן עצמכם עם כלל @font-face באותו קובץ CSS שבו נמצא בלוק ה-@theme:
@font-face {
font-family: 'Heebo';
src: url('/fonts/heebo-variable.woff2') format('woff2');
font-weight: 400 700;
font-display: swap;
}גם פרמטר השאילתה &display=swap (בקישור) וגם המאפיין font-display: swap (ב-@font-face) גורמים לדפדפן להציג טקסט חלופי מיד במקום להסתיר טקסט עד שהגופן העברי נטען.
ב-Next.js: חברו את `next/font` דרך `@theme inline`. כשמארחים עצמית עם next/font (מומלץ ב-Next.js: בלי בקשה חיצונית, בלי הזזת פריסה), הגופן נחשף כמשתנה CSS, ו-@theme לא יכול להפנות למשתנה זמן-ריצה ישירות. השתמשו ב-@theme inline כדי שהמשתנה ייפתר במקום השימוש:
/* app.css */
@import "tailwindcss";
@theme inline {
--font-hebrew: var(--font-heebo); /* --font-heebo מגיע מ-next/font */
}// layout.tsx
import { Heebo } from 'next/font/google';
const heebo = Heebo({ subsets: ['hebrew', 'latin'], variable: '--font-heebo' });
// <html lang="he" dir="rtl" className={heebo.variable}> ... </html>הצורה @theme { --font-hebrew: var(--font-heebo); } (בלי inline) נשברת, כי Tailwind מנסה לפתור את המשתנה בזמן ה-build כשהוא עדיין לא קיים.
שלב 2: כלי שירות לוגיים
כלי השירות הלוגיים המובנים של Tailwind v4 והוריאנטים rtl:/ltr: מכסים RTL בעצמם, ולכן תוסף הקהילה הישן tailwindcss-rtl כבר לא נחוץ. תמיד תעדיפו כלי שירות לוגיים על פני כיווניים פיזיים:
| פיזי (תימנעו) | לוגי (תשתמשו) | איך זה מתנהג ב-RTL |
|---|---|---|
ml-4 | ms-4 | שוליים ימניים ב-RTL |
mr-4 | me-4 | שוליים שמאליים ב-RTL |
pl-4 | ps-4 | ריפוד ימני ב-RTL |
pr-4 | pe-4 | ריפוד שמאלי ב-RTL |
left-0 | inset-s-0 | ימין: 0 ב-RTL (v4.3+; start-0 הוא הכינוי המיושן) |
right-0 | inset-e-0 | שמאל: 0 ב-RTL (v4.3+; end-0 הוא הכינוי המיושן) |
border-l | border-s | גבול ימני ב-RTL |
border-r | border-e | גבול שמאלי ב-RTL |
rounded-l-lg | rounded-s-lg | עיגול ימני ב-RTL |
rounded-r-lg | rounded-e-lg | עיגול שמאלי ב-RTL |
text-left | text-start | מיושר לימין ב-RTL |
text-right | text-end | מיושר לשמאל ב-RTL |
scroll-ml-4 | scroll-ms-4 | שוליים ימניים לגלילה ב-RTL |
שינוי שמות ה-inset ב-Tailwind v4.3. החל מ-v4.3 (מאי 2026) כלי המיקום הלוגיים start-*/end-* הוצאו משימוש לטובת inset-s-*/inset-e-* (כדי להתיישר עם inset-bs-*/inset-be-*). השמות הישנים עדיין עובדים, אבל עדיף inset-s-0/inset-e-0 בקוד חדש. השינוי הזה נוגע רק ל-inset/מיקום; כלי ה-margin/padding/border ms-*/me-*/ps-*/pe-*/border-s/border-e לא השתנו. גם ערכים שרירותיים משתלבים עם כלים לוגיים (למשל ms-[3px], inset-s-[10px]).
שלב 3: וריאנטים כיווניים לסגנונות ייחודיים ל-RTL
תנאי מקדים: הוריאנטים rtl: ו-ltr: (מובנים ב-Tailwind v4) מתאימים לפי מאפיין ה-dir של אלמנט אב. הם לא עושים כלום אלא אם אלמנט אב באמת נושא dir="rtl" (או dir="ltr") - בדרך כלל אלמנט ה-<html>. תקבעו dir="rtl" על השורש לפני שאתם מסתמכים על וריאנט rtl: כלשהו למטה. מכיוון שהוריאנטים האלה נפתרים דרך הפסבדו-קלאס :dir() של CSS, הם מגיבים נכון גם ל-dir="auto" על תוכן מעורב עברית/אנגלית של משתמשים, ולא רק ל-dir="rtl" מפורש.
מצב כהה ב-v4. מפתח התצורה darkMode של v3 בוטל. ב-v4 מפעילים מצב כהה מבוסס-מחלקה ב-CSS עם @custom-variant dark (&:where(.dark, .dark *));, ואז משלבים בחופשיות עם כיוון, למשל class="dark:bg-gray-900 rtl:text-right". קבעו dir="rtl" על <html> והחליפו את המחלקה .dark על אותו אלמנט.
כשצריך דריסות ייחודיות לכיוון:
<!-- הגדרת שורש -- ה-dir="rtl" כאן הוא מה שמפעיל כל וריאנט rtl: -->
<html lang="he" dir="rtl">
<!-- שימוש בוריאנט כיווני -->
<div class="flex rtl:flex-row-reverse">
<span class="rtl:rotate-180">→</span>
<span>הבא</span>
</div>
<!-- שיקוף אייקונים כיווניים -->
<button class="flex items-center gap-2">
<svg class="rtl:scale-x-[-1]"><!-- אייקון חץ --></svg>
<span>חזרה</span>
</button>
<!-- ריווח מותנה שמשתנה לפי כיוון -->
<div class="ltr:ml-auto rtl:mr-auto">
<!-- דחיפה לקצה בשני הכיוונים -->
</div>שלב 4: כלי שירות טיפוגרפיים לעברית
<!-- גוף טקסט עברי עם הגדרות תקינות -->
<body dir="rtl" class="font-hebrew text-base leading-hebrew
tracking-normal">
<!-- כותרת עברית -->
<h1 class="text-3xl font-bold leading-hebrew-tight">
כותרת ראשית
</h1>
<!-- פסקה עברית -->
<p class="text-base leading-hebrew [word-spacing:0.05em]">
טקסט גוף עם ריווח מותאם לקריאות בעברית.
</p>
<!-- תוכן מעורב עברית + אנגלית -->
<p class="text-base leading-hebrew">
פריט מספר <span dir="ltr" class="font-mono">ORD-12345</span> אושר
</p>
</body>שלב 5: תבניות רכיבים RTL-First עם Tailwind
כרטיס RTL-first:
<div class="rounded-lg border border-gray-200 p-6">
<div class="flex items-center justify-between mb-4
border-b border-gray-100 pb-4">
<h3 class="text-lg font-bold">כותרת הכרטיס</h3>
<span class="text-sm text-gray-500">פעיל</span>
</div>
<p class="text-base leading-hebrew text-gray-700">
תוכן הכרטיס עם טקסט בעברית.
</p>
<div class="mt-4 flex gap-3">
<button class="bg-blue-600 text-white px-4 py-2 rounded-md">
אישור
</button>
<button class="border border-gray-300 px-4 py-2 rounded-md">
ביטול
</button>
</div>
</div>ניווט RTL-first:
<nav dir="rtl" class="flex items-center justify-between
px-6 py-4 bg-white border-b">
<div class="flex items-center gap-3">
<img src="/logo.svg" alt="לוגו" class="h-8">
<span class="font-bold text-xl">שם האתר</span>
</div>
<ul class="flex gap-6 text-sm font-medium">
<li><a href="/" class="text-blue-600">ראשי</a></li>
<li><a href="/about" class="text-gray-600">אודות</a></li>
<li><a href="/contact" class="text-gray-600">צור קשר</a></li>
</ul>
</nav>פריסת סרגל צד RTL-first:
<div class="grid grid-cols-[280px_1fr] min-h-screen">
<!-- סרגל צד: מופיע מימין ב-RTL אוטומטית -->
<aside class="border-e border-gray-200 pe-6 p-4">
<nav class="space-y-2">
<a href="#" class="block ps-4 py-2 rounded-md
bg-blue-50 text-blue-700 border-s-4
border-blue-600">לוח בקרה</a>
<a href="#" class="block ps-4 py-2 rounded-md
text-gray-600">הגדרות</a>
</nav>
</aside>
<!-- תוכן ראשי -->
<main class="p-6">
<h1 class="text-2xl font-bold mb-6">לוח בקרה</h1>
</main>
</div>שלב 6: כלי שירות לטפסים בעברית
<form dir="rtl" class="max-w-lg space-y-6">
<div>
<label for="name" class="block text-sm font-medium
text-gray-700 mb-2">שם מלא</label>
<input id="name" type="text"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base font-hebrew
focus:outline-none focus:ring-2
focus:ring-blue-500">
</div>
<div>
<label for="phone" class="block text-sm font-medium
text-gray-700 mb-2">טלפון</label>
<input id="phone" type="tel" dir="ltr"
placeholder="05X-XXXXXXX"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base
focus:outline-none focus:ring-2
focus:ring-blue-500">
</div>
<div>
<label for="message" class="block text-sm font-medium
text-gray-700 mb-2">הודעה</label>
<textarea id="message" rows="4"
class="w-full px-4 py-3 border border-gray-300
rounded-md text-base font-hebrew
leading-hebrew
focus:outline-none focus:ring-2
focus:ring-blue-500"></textarea>
</div>
<button type="submit"
class="w-full bg-blue-600 text-white py-3
rounded-md font-medium text-base
hover:bg-blue-700 transition-colors">
שליחה
</button>
</form>דוגמאות
דוגמה 1: הגדרת Tailwind לפרויקט בעברית
המשתמש אומר: "הגדר Tailwind לאפליקציית הווב העברית שלי" תוצאה: מוסיפים משפחות גופנים עבריות לתמה של Tailwind, מגדירים גובהי שורה מותאמים לעברית, קובעים dir="rtl" על אלמנט ה-HTML הראשי, ומדגימים שימוש בכלי שירות לוגיים (ms-/me-/ps-/pe-) במקום פיזיים (ml-/mr-/pl-/pr-).
דוגמה 2: המרת רכיב Tailwind מ-LTR ל-RTL
המשתמש אומר: "התאם את רכיב ה-Tailwind הזה לעבודה ב-RTL עברי" תוצאה: מחליפים את כל מחלקות השירות הפיזיות במקבילות לוגיות (ml- ל-ms-, pl- ל-ps-, text-left ל-text-start, border-l ל-border-s, rounded-l ל-rounded-s), מוסיפים וריאנטי rtl: לאייקונים כיווניים, וקובעים מחלקת font-hebrew על אלמנטי טקסט.
דוגמה 3: בניית לוח בקרה בעברית עם Tailwind
המשתמש אומר: "צור פריסת לוח בקרה עברי עם Tailwind" תוצאה: בונים פריסת grid עם סרגל צד ב-RTL (border-e, pe-6), ניווט עם גופן עברי וזרימת RTL, רכיבי כרטיסים עם ריווח לוגי, ואלמנטי טופס עם טיפוגרפיה עברית תקינה (font-hebrew, leading-hebrew).
משאבים מצורפים
קובצי עזר
references/rtl-config.md-- מדריך תצורת Tailwind CSS ל-RTL מלא: דוגמאות תצורה CSS-first ל-v4 ו-JavaScript ל-v3, טבלת מיפוי מלאה מתכונות שירות פיזיות ללוגיות, תבניות שימוש בוריאנטים כיווניים, מחסניות גופנים עבריות מוכנות, הגדרות תגי טיפוגרפיה, ומדריך מיגרציה מתכונות פיזיות ללוגיות.
מלכודות נפוצות
- Tailwind CSS v3+ תומך בווריאנטים RTL (תחילית rtl:), אבל סוכנים לא משתמשים בהם ומקודדים mr-4 כשצריך להשתמש ב-ms-4 (margin-start) לתאימות RTL.
- הכלי space-x-4 ב-Tailwind לא מכבד כיוון RTL. סוכנים חייבים להשתמש ב-gap-4 עם flex או grid, או להוסיף ידנית rtl:space-x-reverse כדי להפוך את כיוון הרווח.
- הצהרות גופנים מותאמים לעברית חייבות לכלול font-display: swap כדי למנוע FOIT (הבזק של טקסט בלתי נראה). סוכנים עלולים להשמיט את זה, וזה גורם לטקסט עברי להיעלם בזמן טעינת הגופן.
- text-left ו-text-right ב-Tailwind הן תכונות פיזיות. תשתמשו בקלאסים text-start ו-text-end ליישור מודע RTL. סוכנים הולכים לקלאסי כיוון פיזיים כברירת מחדל.
- כיוון של גרדיאנט וצל הוא פיזי, לא לוגי:
bg-gradient-to-rוצללים עם היסט לא מתהפכים ב-RTL. הוסיפו דריסתrtl:(למשלrtl:bg-gradient-to-l) כשהכיוון משמעותי.
קישורי עזר
| מקור | כתובת | מה לבדוק |
|---|---|---|
| תיעוד Tailwind CSS | https://tailwindcss.com/docs | תחביר תצורה עדכני, הערות מעבר ל-v4 |
| תמיכת RTL ותכונות לוגיות ב-Tailwind | https://tailwindcss.com/docs/hover-focus-and-other-states#rtl-support | וריאנטי rtl: ו-ltr: |
| Google Fonts – Heebo | https://fonts.google.com/specimen/Heebo | גופן ממשק עברי, משקלים, קוד טעינה |
| Google Fonts – Assistant | https://fonts.google.com/specimen/Assistant | גופן גוף טקסט עברי |
| MDN font-display | https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display | ערך swap והתמודדות עם FOIT |
פתרון בעיות
שגיאה: "תכונות השירות הלוגיות של Tailwind לא עובדות"
סיבה: שימוש בגרסת Tailwind ישנה בלי תמיכה בתכונות לוגיות פתרון: כלי שירות לוגיים (ms-, me-, ps-, pe-, וה-inset inset-s-/inset-e-, בעבר start-/end-) דורשים Tailwind v3.3+. ל-v3.0-3.2, תשתמשו בוריאנטי rtl:/ltr: במקום (rtl:mr-4 ltr:ml-4 למשל). ב-Tailwind v4 התמיכה בתכונות לוגיות מובנית במלואה; השמות inset-s-*/inset-e-* נכנסו ב-v4.3 (השמות הישנים start-*/end-* עדיין עובדים).
שגיאה: "הגופן לא מוחל עם מחלקת font-hebrew"
סיבה: משפחת גופנים עברית לא הוגדרה בתצורת Tailwind פתרון: תוסיפו מחסנית גופנים עברית לתמה של Tailwind תחת fontFamily.hebrew. תוודאו ש-CSS של הגופן מיובא (קישור Google Fonts או @font-face מקומי). תאמתו ששם המחלקה תואם למפתח התצורה.
שגיאה: "הסרגל הצד מופיע בצד הלא נכון ב-RTL"
סיבה: פריסת Grid או Flex לא מכבדת את תכונת dir פתרון: CSS Grid ו-Flexbox מכבדים אוטומטית dir="rtl". תוודאו ש-dir="rtl" מוגדר על אלמנט ה-html. תשתמשו בתכונות לוגיות לגבולות (border-e במקום border-r) ולריפוד (pe- במקום pr-). תשמרו על ערך ה-direction ב-CSS עקבי עם מאפיין ה-dir של ה-HTML - עדיף לקבוע כיוון דרך מאפיין ה-dir כדי שהמפל וריאנטי ה-rtl:/ltr: יישארו מסונכרנים; אם בכל זאת קובעים direction ב-CSS, תוודאו שהוא תואם ל-dir.
Related skills
How it compares
Tailwind v4 preset and utility recipes, not a generic RTL methodology skill or a backend localization pipeline.
FAQ
Who is hebrew-tailwind-preset for?
Developers and small teams using Tailwind CSS v4 who must ship polished Hebrew RTL interfaces without relearning logical properties from scratch.
When should I use hebrew-tailwind-preset?
During the build frontend subphase whenever you configure Tailwind for Hebrew, add dir variants, set Hebrew fonts, or wire ms-/me- utilities for RTL layouts.
Is hebrew-tailwind-preset safe to install?
It is configuration and pattern guidance without inherent shell or network requirements; confirm repository trust via the Security Audits panel on this Prism page before install.