7 שלב בניית מיומנויות

אייקונים, פונטים ונכסים ויזואליים

אתר שנבנה עם AI נראה מקצועי רק כשהפרטים הקטנים נכונים — אייקונים עקביים, טיפוגרפיה שמכבדת עברית, תמונות ואיורים שמרגישים כאחד. בפרק הזה נלמד מאיפה להביא את כל הנכסים הוויזואליים, איך לבחור אותם, ואיך להגיד ל-AI בדיוק מה להשתמש.

מה יהיה לך בסוף הפרק הזה
מה תדעו לעשות אחרי הפרק הזה
לפני שמתחילים

פרקים קודמים: פרק 4 (Tailwind CSS), פרק 5 (shadcn/ui), פרק 6 (קומפוננטות WOW).

מה צריך: דפדפן Chrome עם DevTools, חיבור אינטרנט, היכרות בסיסית עם Tailwind CSS.

זמן משוער: 55-70 דקות קריאה + תרגולים.

הפרויקט שלך

מאיפה באנו: בפרק 06 למדתם על קומפוננטות WOW — Aceternity UI, Magic UI ואפקטים מרשימים. עכשיו נוסיף את השכבה הוויזואלית: אייקונים אחידים, טיפוגרפיה מקצועית ונכסים חזותיים.

מה נעשה היום: נבחר אייקונים, פונטים, תמונות ואיורים — ונלמד איך להגיד ל-AI בדיוק מה להשתמש. כל הכלים חינמיים.

לאן ממשיכים: בפרק 08 נלמד על מבנה פרויקט ו-Routing — איפה שמים כל קובץ, כולל את הפונטים, האייקונים והתמונות שלמדתם לבחור בפרק הזה.

מונחים חדשים בפרק הזה
מונח (English)תרגוםהסבר בשורה אחת
Lucideספריית אייקוניםספריית אייקוני SVG חינמית, ברירת המחדל של shadcn/ui — 1,695+ אייקונים
Heroiconsספריית אייקוניםאייקוני SVG של Tailwind Labs — 4 סגנונות: outline, solid, mini, micro
Phosphor Iconsספריית אייקוניםספרייה עם 9,000+ אייקונים ב-6 משקלים שונים
SVGגרפיקה וקטוריתScalable Vector Graphics — פורמט תמונות וקטורי שלא מאבד איכות בהגדלה
Google Fontsשירות פונטיםשירות פונטים חינמי של Google עם 1,500+ משפחות פונט
Variable Fontפונט משתנהפונט אחד שמכיל את כל המשקלים — חוסך בקשות רשת וגודל קובץ
Font Pairingשילוב פונטיםבחירת שני פונטים משלימים — אחד לכותרות ואחד לטקסט
Font Stackרשימת פונטיםרשימת פונטים מסודרת — הדפדפן מנסה כל אחד עד שמוצא זמין
font-display: swapהצגת פונט מיידיתהגדרה שמציגה טקסט מיד בפונט חלופי ומחליפה כשהפונט נטען
WebPפורמט תמונותפורמט תמונות מודרני — 25-70% קטן יותר מ-JPEG, נתמך ב-96%+ מהדפדפנים
next/imageקומפוננטת תמונותקומפוננטת תמונות של Next.js עם אופטימיזציה אוטומטית
Lazy Loadingטעינה עצלהתמונות נטענות רק כשהן נכנסות לשדה הראייה — חוסך רוחב פס
מתחיל 5 דקות מושג חינם

למה הפרטים הקטנים עושים את ההבדל

בואו נדבר על משהו שרוב ה-Vibe Coders מדלגים עליו: הפרטים הוויזואליים.

אתם יכולים לבנות אתר עם AI שעובד מצוין מבחינה טכנית — אבל אם האייקונים לא עקביים, הפונט לא תומך בעברית כמו שצריך, והתמונות נטענות 3 שניות — האתר ייראה חובבני. המבקר לא ידע להסביר למה זה לא נראה מקצועי, אבל הוא ירגיש את זה.

חשבו על זה ככה: אתם נכנסים לחנות פיזית. השלט מעוצב יפה, אבל הפונט על התפריט שונה, הלוגו בפינה מטושטש, והתמונות על הקיר נראות כאילו הורידו אותן מגוגל ב-2015. מה הרושם? לא מקצועי. באתרים זה אותו דבר — רק שהמבקר מחליט תוך 3 שניות אם הוא נשאר או עוזב.

דוגמה ישראלית: קחו שני אתרים — אתר של סטארט-אפ ישראלי מוכר (כמו Monday.com או Wix) לעומת אתר של עסק קטן שנבנה "בזול ובמהירות". ההבדל העיקרי הוא לא הקוד — הוא בפרטים: אייקונים אחידים, פונט שנראה טוב בעברית, תמונות חדות ומהירות. הפרטים האלה לא דורשים מתכנת — הם דורשים בחירות נכונות.

שלושה דברים שמבדילים אתר מקצועי מאתר חובבני:

תחוםחובבנימקצועי
אייקוניםאייקונים מספריות שונות, גדלים לא אחידים, סגנונות מעורבביםספרייה אחת, גודל אחיד, עובי קו עקבי
טיפוגרפיהפונט ברירת מחדל (Arial/Times), גדלים אקראיים, אין היררכיהפונט מותאם לעברית, סולם טיפוגרפי ברור, heading vs body
תמונותתמונות כבדות מהטלפון, ללא אופטימיזציה, JPEG בגודל 5MBWebP אופטימלי, lazy loading, תמונות רספונסיביות

החדשות הטובות: כל הכלים שנלמד בפרק הזה חינמיים לגמרי. הם לא דורשים ידע בעיצוב. הם דורשים רק שתדעו מאיפה להביא ומה לבחור — ואז להגיד ל-AI בדיוק מה להשתמש.

השורה התחתונה: AI יכול לבנות אתר מצוין, אבל הוא צריך שתגידו לו איזה אייקונים, איזה פונטים, ומאיפה לקחת תמונות. בלי ההנחיות האלה — הוא מנחש. ועם AI, ניחוש אף פעם לא מוביל לתוצאה אחידה.

עד סוף הפרק הזה, יהיו לכם 3 prompts מוכנים — לאייקונים, לפונטים ולתמונות — שאתם מעתיקים לכל פרויקט חדש. ברגע שה-AI מקבל את שלושת ההנחיות האלה, הוא עובד כמו מעצב מקצועי שיודע בדיוק מאיפה לקחת מה.

מתחיל 15 דקות כלי חינם

ספריות אייקונים — מאיפה מביאים אייקונים מקצועיים

אייקונים הם השפה הוויזואלית של הממשק. כפתור חיפוש צריך זכוכית מגדלת. תפריט צריך שלושה קווים (hamburger). ניווט צריך חצים. בלי אייקונים, הממשק מרגיש חסר.

הבעיה: יש עשרות ספריות אייקונים, ורובן טובות. הטעות הגדולה היא לערבב בין ספריות — כל ספרייה מעצבת את האייקונים שלה בסגנון שונה (עובי קו, פינות מעוגלות, מילוי). כשמערבבים, זה בולט.

Lucide Icons — ברירת המחדל לפרויקטי shadcn/ui

Lucide (קוראים לזה "לוסיד") היא ספריית אייקוני SVG (Scalable Vector Graphics — גרפיקה וקטורית שלא מאבדת איכות בהגדלה) חינמית עם 1,695+ אייקונים. היא ברירת המחדל של shadcn/ui שלמדנו בפרק 05, מה שאומר שאם אתם בונים פרויקט עם shadcn — Lucide כבר שם.

קצת היסטוריה: Lucide התחילה כ-fork (עותק משופר) של ספרייה ישנה בשם Feather Icons. כשהמתחזקים של Feather הפסיקו לעדכן, הקהילה יצרה את Lucide — שומרת על אותו סגנון נקי אבל עם הרבה יותר אייקונים ועדכונים קבועים.

למה Lucide פופולרית:

איך משתמשים (React):

import { Search, Menu, ArrowRight, Heart } from 'lucide-react';

// שימוש בסיסי
<Search size={20} strokeWidth={1.5} />

// עם צבע מותאם
<Heart size={24} color="#e11d48" fill="#e11d48" />

האתר: lucide.dev/icons — שם אפשר לחפש אייקונים, לראות preview, להתאים צבע וגודל, ולהעתיק קוד מוכן — JSX ל-React, SVG גולמי, או אפילו import statement.

טיפ חשוב: כש-AI יוצר קומפוננטות עם shadcn/ui, הוא כבר משתמש ב-Lucide אוטומטית. אבל אם לא תגידו לו את זה מפורשות, הוא עלול לעבור לספרייה אחרת באמצע — ואז יש לכם עמוד עם שני סגנונות שונים.

עשו עכשיו 3 דקות

פתחו את lucide.dev/icons וחפשו את האייקון 'search'. שימו לב לאפשרויות ההתאמה — גודל, עובי קו, צבע. נסו לשנות את ה-stroke width מ-1 ל-2 וראו את ההבדל.

Heroicons — הבחירה של Tailwind

Heroicons היא ספריית האייקונים של Tailwind Labs — אותה חברה שעשתה את Tailwind CSS. אם הפרויקט שלכם מבוסס Tailwind (ורוב הפרויקטים עם AI כן), Heroicons מרגישים כמו חלק טבעי מהעיצוב.

ההבדל המרכזי מ-Lucide: Heroicons נראים קצת יותר "כבדים" ו"מלאים" — הקווים עבים יותר, והסגנון יותר geometric. Lucide נראה יותר דקיק ועדין. שניהם מקצועיים — זה עניין של טעם ושל מה מתאים לפרויקט.

4 סגנונות (זה ייחודי ל-Heroicons):

סגנוןשימושגודל ברירת מחדל
Outlineממשקים רגילים, ניווט24px
Solidכפתורים, הדגשות24px
Miniאלמנטים קטנים, badges20px
Microאייקונים זעירים, טקסט inline16px

איך משתמשים (React):

import { MagnifyingGlassIcon } from '@heroicons/react/24/outline';
import { HeartIcon } from '@heroicons/react/24/solid';

<MagnifyingGlassIcon className="h-5 w-5" />
<HeartIcon className="h-6 w-6 text-red-500" />

האתר: heroicons.com — חיפוש מהיר, העתקת SVG או JSX. שימו לב שאפשר להעתיק כ-JSX ישירות — מאוד נוח.

דוגמה מעשית: נניח שאתם בונים navbar עם Tailwind. הנה איך נראה שימוש ב-Heroicons:

import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';

function Navbar() {
  const [open, setOpen] = useState(false);
  return (
    <nav className="flex items-center justify-between p-4">
      <Logo />
      <button onClick={() => setOpen(!open)}>
        {open ? <XMarkIcon className="h-6 w-6" />
               : <Bars3Icon className="h-6 w-6" />}
      </button>
    </nav>
  );
}
עשו עכשיו 3 דקות

פתחו את heroicons.com וחפשו את אותו אייקון 'search' (נקרא שם magnifying-glass). השוו את הסגנון ל-Lucide — מה נראה לכם יותר מתאים לפרויקט שלכם? שימו לב להבדל בעובי הקו ובפינות.

Phosphor Icons — המגוון הגדול

Phosphor Icons היא הספרייה הכי עשירה — 9,000+ אייקונים ב-6 משקלים שונים (thin, light, regular, bold, fill, duotone). אם חסר לכם אייקון ספציפי בספרייה אחרת, סיכוי טוב ש-Phosphor יש אותו.

היתרון הגדול: הסגנון duotone — שני צבעים באותו אייקון. למשל, אייקון של תיקייה עם גוף בצבע אחד ותוכן בצבע שני. זה נותן מראה ייחודי ומודרני שספריות אחרות לא מציעות. הסגנון הזה פופולרי מאוד בדשבורדים ובאפליקציות SaaS.

6 המשקלים: thin (דקיק מאוד), light (דקיק), regular (רגיל), bold (בולט), fill (מלא), duotone (שני צבעים). כל אייקון זמין בכל 6 המשקלים — מה שנותן גמישות מדהימה.

איך משתמשים (React):

import { MagnifyingGlass, Heart } from '@phosphor-icons/react';

<MagnifyingGlass size={24} weight="regular" />
<Heart size={24} weight="duotone" color="#a855f7" />

האתר: phosphoricons.com

טעות נפוצה: לערבב אייקונים מספריות שונות באותו פרויקט

למה זו טעות: כל ספרייה עיצבה את האייקונים שלה בסגנון אחיד — עובי קו, פינות, מילוי. כשמערבבים Lucide ליד Heroicon, ההבדל בולט ונראה לא מקצועי. זה כמו לערבב פונטים אקראיים — מרגיש לא מלוכד.

מה לעשות במקום: בחרו ספרייה אחת בתחילת הפרויקט והישארו איתה. אם חסר אייקון ספציפי, חפשו קודם בספרייה שבחרתם. רק אם אין באמת — שקלו להוסיף אייקון בודד מספרייה אחרת, אבל וודאו שהסגנון דומה.

טעות נפוצה: משתמשים ב-PNG במקום SVG — האייקונים blurry ברטינה

תרחיש קלאסי: מעצב שלח לכם אייקונים ב-PNG (32×32 פיקסלים), או שאתם ייצאתם אייקון מ-Figma כ-PNG "כי ככה פשוט יותר". על מסך iMac רגיל הכל נראה טוב. ברגע שמישהו פותח את האתר ב-MacBook Pro Retina, iPhone, iPad או מסך 4K (מסכים עם devicePixelRatio ≥ 2), כל אייקון PNG נראה blurry, pixelated ומטושטש — כי הדפדפן מותח את ה-32 פיקסלים האמיתיים ל-64 פיקסלים מסך. הטקסט חד (כי הוא רקטוריאלי), האייקונים מרוחים. זה נראה חובבני.

הפתרון: השתמשו ב-SVG כברירת מחדל לכל האייקונים — SVG וקטורי, נראה מושלם בכל גודל וב-DPI. אם אתם חייבים PNG (למשל לצורך email templates שלא תומכים ב-SVG) — ייצאו ב-@2x או @3x והשתמשו ב-srcset. בפרומפט ל-AI תמיד ציינו: "Use SVG icons only (Lucide or inline SVG). Never use PNG for icons." כלי AI כמו V0 ו-Lovable משתמשים כברירת מחדל ב-Lucide SVG, אבל Cursor או Bolt לפעמים שולפים PNG ממאגרי stock — תבדקו תמיד.

נגישות באייקונים — דבר שרוב האנשים שוכחים

אייקון בלי טקסט הוא בלתי נגיש למשתמשים עם קוראי מסך (screen readers). שני כללים:

<!-- אייקון ליד טקסט — דקורטיבי -->
<button><Search aria-hidden="true" /> חיפוש</button>

<!-- אייקון בלבד — צריך aria-label -->
<button aria-label="חיפוש"><Search /></button>

נגישות היא לא רק "דבר נחמד" — בישראל, חוק שוויון זכויות לאנשים עם מוגבלות (תקנות נגישות שירותי אינטרנט, 2013) מחייב אתרים מסחריים ואתרים ציבוריים לעמוד בתקני נגישות WCAG 2.0 AA. אייקונים ללא aria-label הם הפרה שעלולה לחשוף אתכם לתביעות נגישות.

מתחיל 8 דקות כלי חינם

עוד ספריות שכדאי להכיר — Simple Icons, Tabler ו-React Icons

שלוש הספריות שראינו (Lucide, Heroicons, Phosphor) מכסות את רוב הצרכים. אבל יש מקרים מיוחדים:

Simple Icons — לוגואים של שירותים ומותגים

צריכים לוגו של GitHub? WhatsApp? Instagram? Simple Icons מכילה 3,000+ לוגואים של מותגים וחברות טכנולוגיה — כולם SVG אחיד בצבע אחד. זה הכלי לשורת "Connect with us" או לסקשן של "Built with".

שימושים נפוצים:

שימו לב: Simple Icons הם לוגואים — לא אייקוני ממשק. אל תערבבו אותם עם Lucide/Heroicons. השתמשו ב-Simple Icons רק כשצריכים לוגו של מותג ספציפי.

האתר: simpleicons.org — חפשו לפי שם המותג, העתיקו SVG, ואפילו תקבלו את הצבע הרשמי של המותג (hex code).

עשו עכשיו 2 דקות

פתחו את simpleicons.org וחפשו את הלוגו של 3 שירותים שאתם משתמשים בהם (GitHub, WhatsApp, Instagram). שמרו את הקישורים — תצטרכו אותם בתרגיל.

Tabler Icons — 5,200+ אייקונים בסגנון נקי

Tabler Icons היא ספרייה מצוינת עם 5,200+ אייקונים בעובי קו אחיד. היא פחות פופולרית מ-Lucide ו-Heroicons, אבל המגוון שלה גדול — ולפעמים דווקא שם תמצאו את האייקון המושלם שלא קיים בספריות האחרות.

האתר: tabler.io/icons

React Icons — מטא-ספרייה שמאגדת הכל

React Icons (react-icons) היא לא ספרייה של אייקונים — היא מאגד (meta-library) של ספריות. חבילה אחת שנותנת גישה ל-Lucide, Heroicons, Font Awesome, Bootstrap Icons ועוד 20+ ספריות. נשמע מושלם, אבל יש חיסרון משמעותי: קל מדי לערבב סגנונות בלי לשים לב.

הבעיה בפועל: AI אוהב את React Icons כי זה "הכל במקום אחד". אבל מה שקורה בפועל: בקומפוננטה אחת הוא ישתמש ב-FaSearch (Font Awesome), בשנייה ב-HiOutlineSearch (Heroicons), ובשלישית ב-LuSearch (Lucide). שלושה אייקוני חיפוש שונים באותו אתר. לא נראה טוב.

מתי להשתמש: כשצריכים אייקון בודד מספרייה ספציפית שלא מותקנת בפרויקט — ולא שווה להתקין ספרייה שלמה בשביל אייקון אחד. לא כספרייה ראשית.

אם בכל זאת משתמשים: הגבילו את עצמכם לתת-ספרייה אחת בתוך React Icons. למשל: "השתמש רק ב-react-icons/lu (Lucide)" — ככה מקבלים את הנוחות של React Icons עם עקביות.

מסגרת החלטה: איזו ספריית אייקונים לבחור
אם הפרויקט...אז תבחרו...למה
משתמש ב-shadcn/uiLucideברירת המחדל של shadcn — כבר מותקנת, אייקונים מתאימים לסגנון
מבוסס Tailwind (בלי shadcn)Heroiconsמאותה חברה שעשתה Tailwind — integration טבעי
צריך מגוון ענק / duotonePhosphor Icons9,000+ אייקונים, 6 משקלים, סגנון duotone ייחודי
צריך לוגואים של מותגיםSimple Icons3,000+ לוגואים של חברות וטכנולוגיות
צריך הכל במקום אחדReact Icons (בזהירות)נוח, אבל קל לערבב סגנונות — השתמשו רק מספרייה אחת בתוכו

כלל אצבע: אם לא בטוחים — Lucide. זו הבחירה הבטוחה ביותר ב-2026.

מתחיל 5 דקות תרגול חינם

איך לבקש מ-AI אייקונים — הדרך הנכונה

הנה מה שקורה כשלא מגידים ל-AI איזו ספריית אייקונים להשתמש: הוא מנחש. וניחושים שונים בחלקים שונים של הפרויקט. בקומפוננטה אחת הוא ישתמש ב-Font Awesome (ספרייה ישנה שהייתה פופולרית לפני כמה שנים), בשנייה ב-Heroicons, בשלישית ייצור SVG מאפס שנראה כמו צייר אותו ילד בן 5. התוצאה: ממשק לא אחיד שנראה חובבני.

הבעיה מחריפה כשעובדים עם AI לאורך זמן — כל שיחה חדשה "שוכחת" את הבחירות של השיחה הקודמת. בלי הנחיה ברורה, כל session עם AI עלול להביא ספרייה אחרת.

הפתרון פשוט — הגדירו בתחילת השיחה עם ה-AI, כל פעם מחדש:

Prompt מומלץ לאייקונים
בכל הפרויקט, השתמש ב-Lucide icons בלבד.
ייבוא: import { IconName } from 'lucide-react'
גודל ברירת מחדל: 20px
strokeWidth: 1.5
אל תשתמש בספריות אייקונים אחרות.
אם חסר אייקון ב-Lucide, ספר לי ואציע חלופה.

שימו לב כמה דברים ה-prompt הזה מגדיר:

  1. ספרייה אחת בלבד — Lucide (לא מנחש, לא מערבב)
  2. דרך הייבוא — ה-AI יודע בדיוק איך לכתוב את ה-import statement
  3. גודל ועובי קו אחידים — עקביות בכל הפרויקט, בכל קומפוננטה
  4. חוק לחריגות — אם חסר אייקון, ה-AI שואל במקום לאלתר ולייצר SVG מכוער

למה זה עובד כל כך טוב: AI טוב בלעקוב אחרי הוראות ברורות. כשנותנים לו "rules" בתחילת השיחה, הוא מחזיק בהם לאורך כל הפרויקט. בלי rules — כל החלטה נקודתית, וכל החלטה נקודתית עלולה להיות שונה.

טיפ מתקדם: אם אתם עובדים עם Cursor, V0, או Bolt — שמרו את ה-prompt הזה כחלק מ-"system prompt" או "project rules". ככה הוא נטען אוטומטית בכל שיחה ולא צריך להעתיק בכל פעם. ב-Cursor, למשל, אפשר להוסיף את ההנחיות לקובץ .cursorrules בשורש הפרויקט — וכל שאלה שתשאלו ל-AI תכלול את ההנחיות האלה כרקע.

עשו עכשיו 3 דקות

כתבו prompt דומה לספרייה שבחרתם (Lucide, Heroicons, או Phosphor). שמרו אותו בקובץ טקסט או בפתק דיגיטלי — תשתמשו בו בכל פעם שמתחילים פרויקט חדש.

מתחיל 2 דקות מושג חינם

SVG Diagram: מפת ספריות האייקונים

הנה סיכום ויזואלי של כל ספריות האייקונים שלמדנו — מתי כל אחת מתאימה:

מפת ספריות אייקונים — מה מתאים למה? סוג הפרויקט Project Type shadcn/ui פרויקט ← Lucide Icons Tailwind בלי shadcn ← Heroicons מגוון ענק / duotone ← Phosphor Icons לוגואים של מותגים ← Simple Icons לא בטוחים? ברירת מחדל: Lucide Icons
מתחיל 12 דקות כלי חינם

Google Fonts — איך בוחרים וטוענים פונטים

Google Fonts הוא שירות פונטים חינמי ופתוח של Google — מעל 1,500 משפחות פונט, כולל עשרות שתומכות בעברית. זה המקור מספר 1 לפונטים באינטרנט, ומשמש מיליוני אתרים ברחבי העולם.

למה לא להישאר עם ברירת המחדל? כש-AI בונה אתר, הוא משתמש בפונט ברירת המחדל של הדפדפן (בדרך כלל Arial או Times New Roman). הבעיה: Arial נראה סביר באנגלית, אבל בעברית הוא נראה... בסדר. לא יותר מזה. הפרופורציות לא אופטימליות, המרווחים בין אותיות לא מושלמים, והתוצאה מרגישה "גנרית". פונט כמו Heebo תוכנן במיוחד לעברית, ומייד מרגיש אחרת — מקצועי, נקי, ונעים לקריאה.

איך מוצאים פונטים בעברית

  1. גלשו ל-fonts.google.com
  2. בצד שמאל (הפילטרים), חפשו Language → בחרו Hebrew
  3. תראו את כל הפונטים שתומכים בעברית — בערך 20-25 משפחות
  4. הקלידו משפט בעברית בשורת ה-preview כדי לראות איך כל פונט נראה

Font Stack — מה זה ולמה צריך

Font Stack (רשימת פונטים) היא רשימה מסודרת של פונטים ב-CSS. הדפדפן מנסה את הראשון — ואם הוא לא זמין, עובר לבא בתור:

font-family: 'Heebo', 'Arial', sans-serif;

הדפדפן ינסה קודם Heebo (פונט מ-Google Fonts). אם הוא עדיין לא נטען — ישתמש ב-Arial (מותקן על כל מחשב). אם גם הוא לא קיים — יבחר את ברירת המחדל של sans-serif.

למה זה חשוב: בלי font stack תקין, אם Google Fonts נכשל בטעינה (אינטרנט איטי, חסימה, או שהמשתמש במדינה שחוסמת Google) — הטקסט יוצג בפונט ברירת מחדל של הדפדפן. על Windows זה יהיה Arial, על Mac זה יהיה Helvetica, ועל לינוקס זה עלול להיות משהו שנראה נורא בעברית.

Font stack מומלץ לפרויקט עברי:

/* Font stack מלא לעברית */
font-family: 'Heebo', 'Segoe UI', 'Arial Hebrew', Arial, sans-serif;

/* הסבר:
   1. Heebo — הפונט הראשי (Google Fonts)
   2. Segoe UI — fallback טוב ב-Windows
   3. Arial Hebrew — fallback טוב ב-Mac
   4. Arial — fallback אוניברסלי
   5. sans-serif — ברירת מחדל אחרונה
*/
עשו עכשיו 4 דקות

פתחו את fonts.google.com, סננו לפי 'Hebrew' (בצד שמאל), ובדקו את Heebo, Assistant ו-Rubik. הקלידו משפט בעברית ובדקו איך הוא נראה בכל פונט. איזה נראה הכי נקי? איזה הכי "ישראלי"?

איך מוסיפים פונט מ-Google Fonts

שתי דרכים:

דרך 1: HTML link (פשוט):

<!-- ב-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@300;400;500;600;700&display=swap" rel="stylesheet">

דרך 2: next/font (מומלצת ל-Next.js):

import { Heebo } from 'next/font/google';

const heebo = Heebo({
  subsets: ['hebrew', 'latin'],
  display: 'swap',
  weight: ['300', '400', '500', '600', '700'],
});

// בקומפוננט
<body className={heebo.className}>

למה next/font עדיפה: היא מורידה את הפונט בזמן build ומאחסנת אותו מקומית — אין בקשת רשת ל-Google בזמן אמת. זה אומר:

טיפ ישראלי: חלק מהארגונים בישראל (במיוחד גופים ממשלתיים) חוסמים Google Fonts מסיבות פרטיות. אם אתם בונים אתר לארגון כזה — next/font פותר את הבעיה כי הפונט מאוחסן מקומית.

בינוני 8 דקות מושג חינם

Variable Fonts — פונט אחד שעושה הכל

בעולם הישן, כל משקל (weight) של פונט היה קובץ נפרד. רצית Regular? קובץ. Bold? עוד קובץ. Light? עוד קובץ. 5 משקלים = 5 בקשות רשת.

Variable Font (פונט משתנה) פותר את זה: קובץ אחד שמכיל את כל המשקלים. במקום weight 400 או 700 בלבד, אפשר לבחור כל ערך — 350, 550, 850 — הכל מאותו קובץ.

היתרונות:

דוגמה ב-CSS:

/* פונט variable — אפשר לבחור כל weight */
h1 { font-weight: 800; }
h2 { font-weight: 650; }   /* לא קיים בפונט רגיל! */
p  { font-weight: 400; }
.light { font-weight: 300; }
.caption { font-weight: 350; }  /* ערך מדויק */

החדשות הטובות: כל הפונטים העבריים המרכזיים ב-Google Fonts כבר תומכים ב-variable fonts — Heebo, Assistant, Rubik וגם Secular One.

איך לדעת אם פונט הוא variable: ב-Google Fonts, לחצו על הפונט. אם יש slider של weight שזז בצורה חלקה (ולא קופץ בין 400, 500, 700) — זה variable font. באתר תראו גם את הטווח: wght: 100..900.

בקוד: כשמגדירים variable font, במקום לציין משקלים ספציפיים אפשר לתת טווח:

/* variable font — טווח שלם */
@font-face {
  font-family: 'Heebo';
  font-weight: 100 900;  /* כל המשקלים! */
  src: url('/fonts/Heebo-Variable.woff2') format('woff2');
  font-display: swap;
}

למה זה משנה בפועל: בפרויקט טיפוסי אתם צריכים לפחות 3 משקלים (light, regular, bold). עם פונטים רגילים = 3 קבצים = 3 בקשות HTTP = ~150KB. עם variable font = קובץ 1 = בקשה 1 = ~80KB. חצי מהגודל, שליש מהבקשות.

עשו עכשיו 2 דקות

ב-Google Fonts, בדקו את Heebo — לחצו עליו וגלגלו את סליידר ה-weight. שימו לב שזה אותו קובץ פונט עם כל המשקלים. השוו את זה ל-Rubik — גם הוא variable.

מתחיל 10 דקות כלי חינם

פונטים לעברית — Heebo, Assistant, Rubik ו-Secular One

לא כל פונט שתומך בעברית נראה טוב בעברית. יש הבדל ענק בין פונט שסתם מכיל תווים עבריים — לבין פונט שעוצב במיוחד לעברית, עם kerning (מרווח בין אותיות) נכון, גדלים מאוזנים, וקריאות גבוהה.

הבעיה הנפוצה: AI בוחר פונט שנראה טוב באנגלית, אבל האותיות העבריות שלו קטנות מדי, רזות מדי, או עם מרווחים מוזרים. זה קורה כי רוב הפונטים תוכננו קודם כל לאנגלית, ותמיכה בעברית נוספה כ-"אקסטרה" בלי תשומת לב מספיקה.

הפתרון: להיצמד לפונטים שתוכננו מהיסוד עם עברית בראש. הנה הארבעה שכדאי לדעת — וכל השאר לא רלוונטיים לרוב הפרויקטים:

הנה 4 הפונטים העבריים שכדאי להכיר — ממש רק את האלה:

פונטאופישימוש מומלץדוגמאות בשטח
Heebo נקי, מודרני, נייטרלי Body text, ממשקים, כל שימוש כללי האתר הכי בטוח לכל פרויקט ישראלי. אם לא בטוחים — Heebo.
Assistant רך, עגול, ידידותי Body text באתרי תוכן, בלוגים נותן תחושה ידידותית ולא פורמלית
Rubik גיאומטרי, מודרני, אופי כותרות, לוגואים, אפליקציות הפונט של Wix. נפוץ מאוד בסטארט-אפים ישראליים.
Secular One בולט, כבד, אימפקט כותרות ראשיות בלבד — לא לטקסט רץ מצוין ל-hero sections ו-landing pages
מחירים: פונטים עבריים מסחריים vs Google Fonts

כל ארבעת הפונטים שלמעלה (Heebo, Assistant, Rubik, Secular One) הם חינמיים לגמרי דרך Google Fonts — גם לשימוש מסחרי, ללא הגבלת צפיות, ללא תגמול. זה עומד בניגוד לפונטים עבריים מסחריים של Fontef (פונטף, הקטלוג הישראלי המוביל) ו-Masterfont (מאסטרפונט) שנעים בדרך כלל בין 200 ש"ח ללייסנס אישי קטן ועד 600-1,200 ש"ח ללייסנס עסקי (משפחת פונטים מלאה, רב-משקלי, לאתר עד X צפיות בחודש).

מתי שווה לשלם? אם הפרויקט הוא מותג גדול שרוצה פונט ייחודי (כמו Wix עם Wix Madefor, Pango עם FbAmber), או אם צריכים פונט עברי עם אופי ספציפי שלא קיים ב-Google Fonts (למשל פונט כתב-יד, display חגיגי, או serif עברי איכותי יותר מ-Frank Ruhl). ל-90% מהאתרים — Google Fonts מספיק ב-100%, ומחליף השקעה של אלפי שקלים בשנה ב-0 ש"ח.

עוד פונטים עבריים שקיימים אבל פחות מומלצים:

טיפ ישראלי: אם תפתחו את DevTools (F12 → Computed → font-family) על אתרים ישראליים גדולים, תגלו שרוב האתרים הגדולים (Wix, Monday, Fiverr) משתמשים ב-Rubik או בפונטים מותאמים אישית שמבוססים על Rubik. סטארט-אפים קטנים יותר בדרך כלל הולכים על Heebo. אלה שתי הבחירות הבטוחות.

Line-height לעברית — הפרט שמשנה הכל

טקסט בעברית צריך line-height (גובה שורה) גדול יותר מאנגלית. למה? כי אותיות עבריות הן בדרך כלל גבוהות יותר יחסית לרוחב שלהן, ויש הרבה אותיות "סגורות" (ם, ן, ף, ץ) שנראות צפופות עם line-height קטן.

סוג טקסטline-height באנגליתline-height בעברית (מומלץ)
כותרות (H1-H3)1.1 - 1.21.2 - 1.3
טקסט רגיל (body)1.4 - 1.51.6 - 1.8
טקסט קטן (captions)1.3 - 1.41.5 - 1.6

הטעות הנפוצה: AI שמקבל הנחיה "build a Hebrew website" ישתמש ב-line-height רגיל (1.5) — שנראה בסדר באנגלית אבל צפוף בעברית. תמיד ציינו ב-prompt: "line-height: 1.7 for body text, 1.3 for headings — optimized for Hebrew."

עשו עכשיו 4 דקות

פתחו 3 אתרים ישראליים שאתם מכירים (כמו wix.com, monday.com, fiverr.com, או כל אתר אחר) ובדקו באמצעות DevTools (F12 → Elements → Computed → font-family) באיזה פונט הם משתמשים. רשמו את התוצאות — יש הפתעות?

בינוני 8 דקות מושג חינם

Font Pairing — כללי שילוב פונטים

Font Pairing (שילוב פונטים) זה האמנות של לבחור שני פונטים שעובדים טוב יחד — אחד לכותרות ואחד לטקסט. שילוב טוב יוצר היררכיה ברורה. שילוב רע יוצר בלגן.

3 כללים לשילוב מוצלח

  1. ניגוד, לא סתירה: הפונטים צריכים להיות שונים מספיק כדי ליצור היררכיה, אבל לא כל כך שונים שזה נראה כמו שני אתרים שונים
  2. מקסימום 2 משפחות: כותרות + body. כל פונט נוסף מאט את האתר ומסבך את העיצוב
  3. בדקו בעברית: שילוב שנראה טוב באנגלית לא בהכרח עובד בעברית — הפרופורציות שונות

5 שילובים מנצחים לעברית

כותרותטקסט רץאופימתאים ל...
Rubik (700)Heebo (400)מודרני, startupאתרי חברות טכנולוגיה, SaaS
Heebo (700)Assistant (400)נקי, מקצועיאתרי תוכן, בלוגים, portfolios
Secular OneHeebo (400)בולט, אימפקטLanding pages, שיווק, מבצעים
Rubik (600)Rubik (400)אחיד, מינימליסטיאפליקציות, דשבורדים
Heebo (800)Heebo (400)פשוט, בטוחכל פרויקט — הבחירה הבטוחה ביותר

שימו לב לשורה האחרונה: Heebo בלבד, במשקלים שונים. אם אתם לא בטוחים — זו הבחירה הכי בטוחה. פונט אחד (variable!) עם משקלים שונים לכותרות ולטקסט. פשוט, מהיר, ולא יכול להשתבש.

איך לבדוק שילוב לפני שמחליטים

לפני שמתחייבים לשילוב, בדקו אותו עם טקסט אמיתי:

  1. כותרת + טקסט: כתבו משפט כותרת בעברית (16-24 מילים) ופסקת טקסט (50-60 מילים). הדביקו ב-Google Fonts preview ובדקו שהשילוב עובד
  2. עברית + אנגלית ביחד: בדקו שגם טקסט עם מילים באנגלית (שמות טכנולוגיות, מונחים) נראה טוב — זה מצב נפוץ מאוד בתוכן טכנולוגי ישראלי
  3. גדלים שונים: האם הכותרת בולטת מספיק? האם הטקסט קריא ב-16px?
  4. נייד: על מסך קטן, כותרות גדולות עלולות לגלוש — בדקו שהגודל מתאים גם ב-mobile

כלי עזר: אתר fontjoy.com עוזר לגלות שילובי פונטים חדשים באמצעות AI — אבל הוא לא תמיד מביא בחשבון עברית. לכן הטבלה למעלה היא המומלצת שלנו.

בעיית ה-bilingual (דו-לשוני): באתרים ישראליים, הרבה פעמים יש טקסט מעורב — עברית עם מילים באנגלית (שמות טכנולוגיות, מותגים, לינקים). זה יוצר אתגר: הפונט צריך להיראות טוב בשתי השפות. הפונטים שהמלצנו (Heebo, Rubik, Assistant) כוללים תווים לטיניים (אנגלית) שנראים מצוין ליד העברית — מה שלא תמיד המצב עם פונטים אחרים. זו עוד סיבה להיצמד לארבעת הפונטים המומלצים.

טעות נפוצה: לטעון 4-5 פונטים שונים שמאטים את האתר

למה זו טעות: כל פונט נוסף הוא עוד בקשת רשת, עוד קובץ לטעון, ועוד עיכוב בהצגת הטקסט. קל להתפתות להוסיף "עוד פונט מגניב" — אבל כל פונט שווה 50-200KB.

מה לעשות במקום: מקסימום 2 משפחות פונטים (heading + body). עדיף אפילו אחת עם variable weights. כל פונט נוסף חייב הצדקה חזקה — ובעיקר: בדקו ב-DevTools שהטעינה לא נפגעת.

טעות נפוצה: טוענים 6-8 font weights — Core Web Vitals נופלים

זה קורה באופן אוטומטי כשמעתיקים את שורת ה-Google Fonts מברירת המחדל של Figma או מתוצאת AI שלא חושבת על performance. דוגמה: family=Heebo:wght@100;200;300;400;500;600;700;800;900 — 9 משקלים, שזה 9 קבצי font נפרדים, גם בגרסה עם variable fonts. התוצאה על אתר עברי ממוצע: 800KB-1.2MB של fonts (כי כל משקל עברי שוקל יותר מאנגלית — יותר תווים במשפחה). ההשפעה על Core Web Vitals: LCP (Largest Contentful Paint) גדל ב-0.8-1.5 שניות, CLS (Cumulative Layout Shift) קופץ כי הטקסט "קופץ" כשהפונט מגיע, ו-Lighthouse Performance יורד מ-95 ל-72.

הפתרון: השתמשו ב-2-3 משקלים בלבד לכל משפחה — בדרך כלל 400 (regular), 600 (semibold), 700 (bold) זה הכל שצריך ל-95% מהאתרים. אם אתם על Variable Font (Heebo VF, Assistant VF) — זה קובץ אחד שנותן את כל המשקלים במשקל דומה ל-2 static fonts. בדקו תמיד ב-DevTools → Network → Filter: Font — אם יש יותר מ-2-3 קבצי woff2, יש בעיה.

מסגרת החלטה: איך לבחור פונטים לפרויקט עברי
אם הפרויקט...אז תבחרו...למה
סטארט-אפ / מודרניRubik (כותרות) + Heebo (body)הסגנון הישראלי הכי מוכר, מודרני ובולט
אתר תוכן / בלוג / portfolioHeebo (כותרות) + Assistant (body)נקי, קריא, ידידותי
Landing page / שיווקSecular One (כותרות) + Heebo (body)כותרות שזועקות, body נקי
לא בטוחים / דשבורד / אפליקציהHeebo (משקלים שונים בלבד)פונט אחד, אפס סיכון, משקל קל, כל המשקלים
מתחיל 2 דקות מושג חינם

SVG Diagram: מערכת טיפוגרפיה מלאה

ככה נראית מערכת טיפוגרפיה מקצועית — מהפונט ועד ה-CSS:

מערכת טיפוגרפיה מלאה Google Fonts fonts.google.com כותרות: Rubik weight: 600-800 טקסט: Heebo weight: 300-500 fallback Arial, sans-serif next/font (טעינה מקומית) + font-display: swap Variable Font = קובץ אחד, כל המשקלים סולם טיפוגרפי (Type Scale) H1: 36px / 800 Rubik H2: 28px / 700 Rubik H3: 22px / 600 Rubik Body: 16px / 400 Heebo Small: 14px Heebo 2 פונטים, קובץ אחד, 5 גדלים = מערכת מלאה
בינוני 8 דקות מושג חינם

טעינת פונטים ואופטימיזציה — font-display ו-Next.js

פונטים יכולים להאט אתר משמעותית אם לא טוענים אותם נכון. הנה מה שצריך לדעת:

font-display: swap — למה זה קריטי

font-display: swap אומר לדפדפן: "תציג מיד טקסט בפונט חלופי (Arial), ותחליף כשהפונט האמיתי נטען." בלי זה, הטקסט עלול להיות בלתי נראה (FOIT — Flash of Invisible Text) עד שהפונט נטען. המשתמש רואה דף ריק למשך 1-3 שניות.

/* תמיד הוסיפו display=swap ב-Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300..900&display=swap');

preconnect — זירוז הטעינה

תגיות preconnect אומרות לדפדפן: "תתחיל להתחבר לשרת של Google Fonts עוד לפני שאתה צריך את הפונט." זה חוסך 100-300ms:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

next/font — הפתרון המושלם ל-Next.js

אם הפרויקט שלכם Next.js (וב-2026, רוב הפרויקטים עם AI כן), next/font הוא הדרך הטובה ביותר:

// app/layout.tsx
import { Heebo, Rubik } from 'next/font/google';

const heebo = Heebo({
  subsets: ['hebrew', 'latin'],
  display: 'swap',
  variable: '--font-heebo',
});

const rubik = Rubik({
  subsets: ['hebrew', 'latin'],
  display: 'swap',
  variable: '--font-rubik',
});

export default function RootLayout({ children }) {
  return (
    <html lang="he" dir="rtl"
          className={`${heebo.variable} ${rubik.variable}`}>
      <body>{children}</body>
    </html>
  );
}

ואז ב-tailwind.config.ts:

theme: {
  fontFamily: {
    sans: ['var(--font-heebo)', 'Arial', 'sans-serif'],
    heading: ['var(--font-rubik)', 'Arial', 'sans-serif'],
  },
}

WOFF2 — הפורמט המומלץ לפונטים

כמו שיש JPEG ו-WebP לתמונות, יש פורמטים שונים לפונטים. WOFF2 (Web Open Font Format 2) הוא הפורמט המודרני שכל אתר צריך להשתמש בו:

כשמשתמשים ב-Google Fonts או next/font, אתם מקבלים WOFF2 אוטומטית — לא צריך לעשות כלום. אבל אם אתם מעלים פונט מותאם אישית (self-hosted), ודאו שהוא בפורמט WOFF2.

טיפ: כשאתם כותבים prompt ל-AI עבור הגדרת פונטים, כללו את כל ההגדרות במקום אחד:

Prompt מלא לטיפוגרפיה
הגדר טיפוגרפיה לפרויקט Next.js + Tailwind:
- Heading font: Rubik (variable, Hebrew + Latin)
- Body font: Heebo (variable, Hebrew + Latin)
- השתמש ב-next/font/google עם CSS variables
- הגדר ב-tailwind.config: font-sans = Heebo, font-heading = Rubik
- font-display: swap
- Type scale: H1=36px/800, H2=28px/700, H3=22px/600, body=16px/400, small=14px/300
- RTL support: dir="rtl" lang="he"
מתחיל 10 דקות כלי חינם

תמונות חינמיות — Unsplash, Pexels ו-Pixabay

אתרים בלי תמונות מרגישים ריקים. תמונה טובה בראש הדף (hero section) יכולה לעשות את ההבדל בין "עוד אתר" ל-"וואו, זה נראה מקצועי". אבל תמונות מקצועיות עולות כסף — חבילת 10 תמונות ב-Shutterstock עולה $29-49, ובגטפי או shutterstock ישראל אפילו יותר.

החדשות הטובות: יש 3 אתרים עם מיליוני תמונות חינמיות ברישיון פתוח. הרישיון (בדרך כלל Unsplash License או Pexels License) מאפשר שימוש לכל מטרה — כולל מסחרית — בלי לשלם ובלי לבקש אישור. הדבר היחיד שאסור: למכור את התמונות עצמן כמוצר (למשל, להדפיס ולמכור כפוסטר).

Unsplash — התמונות הכי יפות

Unsplash (unsplash.com) הוא המקור מספר 1 לתמונות stock חינמיות באיכות גבוהה. צלמים מעלים תמונות ברישיון חופשי — אפשר להשתמש לכל מטרה, כולל מסחרית, בלי attribution (אבל נחמד לתת קרדיט).

יתרונות:

עשו עכשיו 3 דקות

פתחו את Unsplash וחפשו 'tel aviv'. בחרו תמונה אחת שמתאימה לאתר של עסק ישראלי. הורידו אותה בגודל medium. שימו לב לשם הצלם — אם תשתמשו בה, נחמד לתת קרדיט.

Pexels — האלטרנטיבה הטובה עם וידאו

Pexels (pexels.com) דומה ל-Unsplash — תמונות חינמיות ברישיון פתוח. אבל יש לו יתרון משמעותי: Pexels כוללת גם סרטוני וידאו חינמיים, מה שמצוין ל-hero sections עם רקע וידאו ולדפי נחיתה. הווידאו שם באיכות גבוהה ואפשר להוריד בכמה רזולוציות.

טיפ: Pexels מציע גם Pexels API חינמי — אם אתם בונים אתר שצריך להציג תמונות דינמיות (כמו placeholder images), ה-API מאוד נוח.

Pixabay — המגוון הרחב

Pixabay (pixabay.com) כוללת תמונות, וקטורים, איורים, וידאו ואפילו מוזיקה — הכל חינמי. הכמות הכי גדולה מבין השלושה, אבל האיכות הממוצעת נמוכה יותר מ-Unsplash ו-Pexels. חלק מהתמונות נראות מאוד "stock" (חיוכים מאולצים, תמונות סטודיו נטולות אופי).

טיפ: השתמשו בסינון "Photo" + "Editors Choice" לתוצאות טובות יותר. גם כדאי לסנן לפי "Orientation" (אנכי/אופקי) כדי למצוא תמונות שמתאימות למקום ספציפי בעמוד.

השוואה מהירה

אתראיכותכמותוידאוAPI
Unsplashהכי גבוהה3.5M+ תמונותלאכן (50/שעה)
Pexelsגבוהה3M+ תמונות + וידאוכןכן (200/שעה)
Pixabayבינונית-גבוהה4M+ (תמונות+וקטורים+מוזיקה)כןכן

3 דברים לשים לב אליהם בתמונות stock

בעיהפתרון
תמונות נראות "stock" מדי — חיוכים מזויפים, מיטינגים מבוימיםחפשו תמונות אותנטיות. מילות חיפוש כמו "candid", "real", "natural" עוזרות.
כולם משתמשים באותן תמונותגללו מעבר לעמוד הראשון. התמונות הפחות פופולריות הן בדרך כלל הכי ייחודיות.
תמונות כבדות מדי (5MB+)הורידו בגודל medium (לא original). נדבר על אופטימיזציה בהמשך הפרק.

טיפ לפרויקטים ישראליים: חפשו מילות מפתח ספציפיות — "Tel Aviv skyline", "Israeli food", "Mediterranean beach", "Middle Eastern office". יש הרבה תוכן מקומי ב-Unsplash ו-Pexels. גם "coworking space" נותן תמונות מצוינות למשרדים ישראליים (הרבה תמונות מ-WeWork שנראות כמו שמשרדים ישראליים באמת נראים).

אזהרה חשובה — AI Generated Images: כלי AI כמו Midjourney ו-DALL-E יוצרים תמונות מרשימות, אבל יש בעיות:

המלצה: לתמונות של אנשים — תעדיפו stock photos אמיתיים. לאיורים מופשטים, רקעים, ו-textures — AI generated עובד מצוין.

עשו עכשיו 3 דקות

חפשו ב-Unsplash וב-Pexels את אותה מילת חיפוש (למשל "workspace"). איזה אתר נתן תוצאות יותר טובות? איזה יותר מגוון? שמרו את המועדף שלכם.

מתחיל 10 דקות כלי חינם

איורים — unDraw, Humaaans, Open Peeps ו-Storyset

איורים (illustrations) נותנים לאתר אופי שתמונות stock לא יכולות. הם מוסיפים חמימות, אחידות, ומאפשרים להמחיש מושגים מופשטים (כמו "שיתוף פעולה" או "cloud computing") בלי תמונות מבוימות של אנשים יושבים סביב שולחן עם חיוכים מזויפים.

למה איורים עובדים כל כך טוב: הם יוצרים שפה ויזואלית אחידה. כש-5 איורים באותו אתר הם באותו סגנון, באותו צבע — האתר מרגיש מלוכד. עם תמונות stock, כל תמונה צולמה על ידי צלם אחר, באור אחר, בסגנון אחר — קשה ליצור אחידות.

unDraw — איורים בצבע מותאם אישית

unDraw (undraw.co/illustrations) הוא מוקשה של זהב: מאות איורים חינמיים בסגנון אחיד, ואפשר לשנות את הצבע הראשי לפני ההורדה. רוצים שכל האיורים יהיו בסגול (#a855f7) של הפרויקט? פשוט שנו את הצבע ב-UI.

למה זה קריטי: איורים שמתאימים לצבע המותג שלכם = אחידות ויזואלית. במקום 5 איורים בסגנונות שונים — כולם באותו look.

עשו עכשיו 3 דקות

פתחו את undraw.co/illustrations, שנו את הצבע הראשי לסגול (#a855f7). חפשו 'website' ומצאו איור שמתאים ל-landing page. הורידו כ-SVG — זה הפורמט האיכותי ביותר כי הוא וקטורי.

Storyset — איורים אנימטיביים

Storyset (storyset.com) — של Freepik — מציע איורים שאפשר לעשות להם אנימציה ישירות מהאתר. יש 3 סגנונות עיקריים:

אפשר לשנות צבעים, לבחור אלמנטים, להסתיר חלקים מהאיור, ואפילו לייצא אנימציות כ-CSS, GIF, או Lottie. הכל חינמי עם attribution (צריך לתת קרדיט ל-Storyset).

Humaaans ו-Open Peeps — דמויות אנושיות

צריכים דמויות אנושיות שלא נראות "stock"? יש שתי ספריות מצוינות:

Humaaans (humaaans.com) מאפשר להרכיב דמויות ממודולים — ראש, גוף, רגליים, צבע עור, תנוחה. אפשר ליצור עשרות שילובים ייחודיים. מצוין ל-"About us" sections ו-team pages כשאין תמונות אמיתיות של הצוות.

Open Peeps (openpeeps.com) מציע דמויות בסגנון hand-drawn סקיצתי — נראה חם, אישי, ולא "קורפורטיבי". מצוין לאתרים של יזמים עצמאיים ופרילנסרים. שניהם חינמיים לגמרי.

מתי להשתמש בתמונות ומתי באיורים?

מצבבחרו...למה
Hero section / about page / צוותתמונותאותנטיות, אמינות, אנשים אמיתיים
Feature sections / how it worksאיוריםממחישים מושגים מופשטים, סגנון אחיד
404 / empty states / loadingאיוריםמפחיתים תסכול, מוסיפים אופי
Testimonials / case studiesתמונותאמינות, הוכחה חברתית
Blog posts / articlesתמונות + איוריםHeader image = תמונה, diagrams = איורים
בינוני 10 דקות מושג חינם

אופטימיזציית תמונות — next/image, WebP ו-lazy loading

תמונה שנטענת מהטלפון שוקלת 3-8MB. על מסך המחשב היא תיראה מצוין — אבל זמן הטעינה? אסון. גוגל מודד Core Web Vitals (מדדי ביצועים) ומוריד דירוג חיפוש לאתרים עם תמונות כבדות. במיוחד מדד LCP (Largest Contentful Paint) — שמודד כמה זמן לוקח לאלמנט הגדול ביותר (בדרך כלל תמונה) להופיע על המסך.

הסטטיסטיקה שכדאי לזכור: תמונות מהוות בממוצע 50-75% מגודל הדף. אם הדף שוקל 3MB, סביר שלפחות 2MB מזה הם תמונות. אופטימיזציית תמונות היא הדרך הכי קלה להאיץ אתר — בלי לגעת בקוד.

בואו נתקן את זה:

WebP ו-AVIF — הפורמטים המודרניים

פורמטחיסכון לעומת JPEGתמיכת דפדפניםשימוש
JPEG— (הבסיס)100%fallback, צילומים
WebP25-70% קטן יותר97%+ברירת המחדל המומלצת ב-2026
AVIF40-80% קטן יותר92%+הכי קטן, אבל איטי לקידוד
PNGגדול יותר מ-JPEG100%רק כשצריך שקיפות
SVGקטן מאוד (וקטורי)100%אייקונים, לוגואים, איורים

כלל אצבע: צילומים → WebP. אייקונים ואיורים → SVG. לוגואים עם שקיפות → PNG (או SVG עדיף).

מתי AVIF ומתי WebP? AVIF חדש יותר וקטן יותר, אבל לוקח יותר זמן להמיר ולא כל הדפדפנים תומכים עדיין (92% נכון ל-2026). ב-2026 ההמלצה: השתמשו ב-WebP כברירת מחדל. next/image כבר יודע לשלוח AVIF לדפדפנים שתומכים ו-WebP לשאר — אוטומטית.

עשו עכשיו 3 דקות

פתחו אתר כלשהו (כמו walla.co.il או ynet.co.il), לחצו F12 → Network → Img. רעננו את הדף ובדקו את הפורמט והגודל של התמונות. כמה מהן WebP? כמה JPEG? מה הגודל הממוצע?

Lazy Loading — טעינה רק כשצריך

Lazy Loading (טעינה עצלה) אומר: "אל תטען את כל התמונות כשהדף נפתח — טען רק את מה שנראה על המסך. כשהמשתמש גולל למטה — טען את התמונות הבאות." זה חוסך bandwidth ומזרז את הטעינה הראשונית.

ב-HTML רגיל:

<img src="photo.webp" alt="תיאור" loading="lazy" />

חשוב: לא לעשות lazy loading לתמונות שנראות מיד (above the fold) — כמו Hero image ולוגו. רק לתמונות שמתחת לקפל — כלומר, תמונות שהמשתמש צריך לגלול כדי לראות אותן. ב-next/image, lazy loading הוא ברירת המחדל — מה שאומר שצריך לציין priority רק לתמונות שמעל הקפל.

next/image — אופטימיזציה אוטומטית

next/image היא קומפוננטת התמונות של Next.js שעושה הכל אוטומטית:

import Image from 'next/image';

<Image
  src="/images/hero.jpg"
  alt="תיאור התמונה בעברית"
  width={1200}
  height={600}
  priority  // לתמונות above the fold
  placeholder="blur"
  blurDataURL="data:image/..."
/>

<Image
  src="/images/feature.jpg"
  alt="תיאור"
  width={600}
  height={400}
  // lazy loading כברירת מחדל
/>

priority: תמיד הוסיפו את priority לתמונת ה-Hero (התמונה הראשונה שנראית). זה אומר ל-Next.js: "תטען את התמונה הזו מיד, בלי lazy loading."

Squoosh — כלי אופטימיזציה ידני

כש-next/image לא זמין (למשל בפרויקט HTML סטטי), השתמשו ב-Squoosh (squoosh.app) — כלי חינמי של Google שרץ ישירות בדפדפן. גוררים תמונה פנימה, בוחרים פורמט (WebP/AVIF), מכוונים את האיכות, ורואים את ההבדל בגודל בזמן אמת. תמונה של 4MB יכולה להפוך ל-200KB בלי הבדל נראה לעין.

Responsive Images — תמונות שמתאימות לכל מסך

מסך של טלפון הוא 375px רוחב. מסך מחשב הוא 1920px. אין סיבה לטעון תמונה ברוחב 1920px על טלפון — זה בזבוז bandwidth. Responsive images (תמונות רספונסיביות) שולחות גודל שונה לכל מכשיר:

<!-- HTML רגיל: תמונה רספונסיבית -->
<img
  srcset="photo-640.webp 640w,
          photo-1024.webp 1024w,
          photo-1920.webp 1920w"
  sizes="(max-width: 768px) 100vw, 50vw"
  src="photo-1024.webp"
  alt="תיאור"
  loading="lazy"
/>

שימו לב: next/image עושה את זה אוטומטית — לא צריך לכתוב srcset ידנית. זו עוד סיבה למה next/image כל כך שווה.

סיכום: Prompt מומלץ לתמונות

כמו שכתבנו prompt לאייקונים ופונטים, הנה prompt לתמונות:

Prompt מומלץ לניהול תמונות
כללים לתמונות בפרויקט:
1. השתמש ב-next/image לכל התמונות (לא img רגיל)
2. תמונות hero: הוסף priority, אל תעשה lazy loading
3. כל שאר התמונות: lazy loading (ברירת מחדל)
4. פורמט מועדף: WebP
5. הוסף alt text בעברית לכל תמונה
6. placeholder="blur" לחוויית טעינה חלקה
7. הגדר width ו-height תמיד (מונע layout shift)
8. תמונות מ-Unsplash: השתמש ב-URL עם ?w=1200&q=80 לגודל מותאם

עם שלושת ה-prompts (אייקונים, פונטים, תמונות) — יש לכם מערכת שלמה. AI שמקבל את שלושת ההנחיות האלה בתחילת כל שיחה ייצר תוצאות עקביות ומקצועיות. חשבו על זה כמו "brief לעיצוב" — אבל במקום לשלוח למעצב, אתם שולחים ל-AI. המעצב הכי טוב בעולם לא ייצר תוצאה טובה בלי brief — ו-AI לא שונה.

טעות נפוצה: לסמוך על AI לבחור תמונות בשבילכם

למה זו טעות: AI לא יודע באמת "לראות" תמונות. כשמבקשים ממנו "find me a hero image", הוא נותן קישור לתמונה אקראית או מתאר מה לחפש — אבל הוא לא יכול להעריך אם התמונה מתאימה ל-brand שלכם, אם הצבעים עובדים עם העיצוב, או אם היא נראית "Israeli" מספיק.

מה לעשות במקום: בחרו תמונות בעצמכם. זה לוקח 15 דקות, ואתם שולטים בתוצאה. אחרי שבחרתם — תנו ל-AI את הקישורים הספציפיים ותגידו לו "use these images".

טעות נפוצה: להשתמש בתמונות כבדות בלי אופטימיזציה

למה זו טעות: תמונה מהטלפון יכולה לשקול 5MB. בלי אופטימיזציה, הדף ייטען לאט, Google יוריד את הדירוג ב-Core Web Vitals, והמבקרים יעזבו — 53% מהגולשים עוזבים אם דף נטען יותר מ-3 שניות.

מה לעשות במקום: השתמשו ב-next/image שמבצע אופטימיזציה אוטומטית. אם הפרויקט לא Next.js — בקשו מ-AI להגדיר WebP + lazy loading. ואם אתם מעלים תמונות ידנית — השתמשו ב-squoosh.app (של Google, חינמי) להמיר ל-WebP ולכווץ.

מתחיל 2 דקות מושג חינם

SVG Diagram: זרימת אופטימיזציית תמונות

הנה התהליך המלא — מתמונת מקור ועד הצגה על המסך:

זרימת אופטימיזציית תמונות תמונת מקור JPEG / PNG 3-8MB המרת פורמט WebP / AVIF squoosh.app שינוי גודל Responsive sizes 640/768/1024/1280 תוצאה 50-200KB -90%! שלב הטעינה בדפדפן Above the fold (נראה מיד) priority + preload Hero image, לוגו Below the fold (נסתר) lazy loading כל השאר — נטען בגלילה next/image עושה הכל אוטומטית WebP + resize + lazy + blur placeholder 5MB → 150KB = דף שנטען ב-1 שנייה במקום 5
תרגיל 1: בניית מדריך טיפוגרפיה עברית+אנגלית

זמן: 20 דקות | רמה: מתחיל | תוצר: מדריך טיפוגרפיה עם 5 שילובי פונטים

  1. פתחו את Google Fonts וסננו לפי Hebrew
  2. בחרו 5 שילובי פונטים מהטבלה בסקשן Font Pairing. לכל שילוב, הקלידו את אותו משפט בעברית (למשל: "שלום, אנחנו בונים אתרים מקצועיים") וראו איך הוא נראה
  3. כתבו לכל שילוב: למה הוא מתאים (landing page, blog, portfolio, startup, dashboard)
  4. בחרו שילוב אחד כ-default שלכם — זה שתשתמשו בו בכל פרויקט חדש אלא אם יש סיבה טובה לשנות
  5. כתבו prompt ל-AI שמגדיר את הטיפוגרפיה המלאה (השתמשו בתבנית מסקשן font-loading)

תוצאה צפויה: מדריך טיפוגרפיה מסודר עם 5 שילובים. לכל שילוב: שם הפונטים, screenshot של הטקסט, סוג הפרויקט שזה מתאים לו, ו-prompt מוכן ל-AI. שמרו את המדריך — תחזרו אליו בכל פרויקט.

למה התרגיל הזה חשוב: בעולם ה-Vibe Coding, רוב הזמן שלכם הולך על החלטות ולא על קוד. בחירת פונטים היא החלטה שמשפיעה על איך האתר שלכם נראה ומרגיש — ועל מה שהמבקרים חושבים עליכם ברגע הראשון. מדריך טיפוגרפיה מוכן חוסך מכם 20 דקות של החלטות בכל פרויקט חדש.

תרגיל 2: בניית רשימת מקורות ויזואליים לפרויקט

זמן: 25 דקות | רמה: מתחיל | תוצר: רשימת נכסים ויזואליים מלאה

  1. בחרו ספריית אייקונים אחת (Lucide / Heroicons / Phosphor) — והסבירו למה בחרתם אותה (שורה אחת)
  2. מצאו 5 תמונות ב-Unsplash או Pexels שמתאימות לאתר של tech startup ישראלי. לכל תמונה: קישור + תיאור + איפה תשתמשו בה (hero, about, feature section)
  3. מצאו 3 איורים מ-unDraw או Storyset באותו סגנון צבעוני (שנו את הצבע לצבע המותג). לכל איור: קישור + תיאור + שימוש
  4. ארגנו הכל בקובץ אחד (Google Doc, Notion, או קובץ Markdown)
  5. כתבו prompt ל-AI: "הנה רשימת הנכסים הוויזואליים של הפרויקט. השתמש רק במקורות האלה. אייקונים: [ספרייה]. תמונות: [קישורים]. איורים: [קישורים]."

תוצאה צפויה: מסמך אחד עם כל הנכסים הוויזואליים: ספריית אייקונים, 5 תמונות עם קישורים, 3 איורים באותו סגנון, ו-prompt מוכן ל-AI. זו תחילת design system — אפילו אם עוד לא יודעים לקרוא לזה ככה.

בונוס לפרילנסרים ישראליים: אם אתם בונים אתרים ללקוחות, שמרו את הרשימה הזו כ-template. כל פעם שלקוח חדש מגיע, שכפלו את הרשימה והתאימו אותה לפרויקט — זה חוסך שעות של חיפוש ובחירה בכל פעם מחדש. לקוחות מתרשמים כשמראים להם "הנה הנכסים הוויזואליים שבחרנו לפרויקט שלכם" — זה נראה מקצועי ומאורגן.

תרגיל 3: הגדרת טיפוגרפיה מלאה ב-Tailwind config עם AI

זמן: 20 דקות | רמה: בינוני | תוצר: קובץ tailwind.config.ts מוכן

  1. בחרו שילוב פונטים (heading + body) מהמדריך שבניתם בתרגיל 1
  2. כתבו prompt ל-AI:
    הגדר ב-tailwind.config.ts את הפונטים [X] ו-[Y]:
    - font-family: sans = [body font], heading = [heading font]
    - הוסף font sizes מותאמים: sm=14px, base=16px, lg=18px, xl=20px, 2xl=24px, 3xl=30px, 4xl=36px
    - line-height מותאם לעברית (1.7 לטקסט, 1.3 לכותרות)
    - font-weight: light=300, normal=400, medium=500, semibold=600, bold=700, extrabold=800
    - השתמש ב-next/font/google עם CSS variables
    - הוסף font-display: swap ו-preconnect
  3. בדקו את הפלט של ה-AI: האם הוא כולל את כל ה-sizes הנדרשים? האם הוא השתמש ב-CSS variables?
  4. בקשו מה-AI: "הוסף גם line-height מותאם לעברית — 1.7 ל-body, 1.3 לכותרות"
  5. שמרו את ה-config המוכן כ-reference לפרויקטים עתידיים

תוצאה צפויה: קובץ tailwind.config.ts מלא עם הגדרות טיפוגרפיה מותאמות לעברית. אפשר להעתיק אותו לכל פרויקט חדש ולקבל טיפוגרפיה מקצועית מהרגע הראשון.

מה לבדוק בפלט של ה-AI: ודאו שה-config כולל (1) CSS variables לפונטים, (2) font-display: swap, (3) תמיכה ב-Hebrew subset, (4) line-height מותאם לעברית (1.7 ל-body), (5) font-weight scale מלא (300-800). אם חסר משהו — בקשו מה-AI להוסיף. זו בדיקת איכות שלוקחת 30 שניות אבל חוסכת באגים ויזואליים בהמשך.

שגרת עבודה — הרגלים מהפרק הזה
תדירותמה לעשות
יומיכשגולשים באתר — פתחו DevTools ובדקו איזה פונט משתמשים (Computed → font-family). זה בונה אינטואיציה.
יומיכשנותנים prompt ל-AI — ציינו ספריית אייקונים ופונטים. תמיד. בכל פרויקט.
שבועיגלשו 5 דקות ב-Unsplash או Pexels ושמרו תמונות שמתאימות לפרויקטים. בנו אוסף אישי.
שבועיבדקו ב-DevTools → Network → Img את גודל התמונות באתר שבניתם. יש תמונות מעל 500KB? אפשר לשפר.
חודשיעדכנו את רשימת המקורות הוויזואליים — יש ספריות חדשות? איורים חדשים ב-unDraw?
חודשיבדקו את הטיפוגרפיה בפרויקטים קיימים — האם אתם עקביים? האם יש פונטים מיותרים?
אם אתם עושים רק דבר אחד מהפרק הזה

כתבו prompt אחד שמגדיר לכל AI שתעבדו איתו: "השתמש ב-Lucide icons, פונט Heebo, תמונות מ-Unsplash בלבד." שמרו את ה-prompt ותשתמשו בו בכל פרויקט חדש. שלושה קווים — הבדל עצום בתוצאה.

בדקו את עצמכם — 5 שאלות
  1. מה ההבדל בין Lucide ל-Heroicons, ומתי כל אחת מתאימה? (רמז: חשבו על shadcn/ui ו-Tailwind)
  2. למה Variable Font עדיף על 5 קבצי פונט נפרדים? (רמז: חשבו על בקשות רשת)
  3. מה font-display: swap עושה, ולמה הוא קריטי? (רמז: מה קורה כשהפונט עדיין לא נטען)
  4. אם הלקוח שלכם הוא סטארט-אפ ישראלי — איזה שילוב פונטים תבחרו? (רמז: חפשו בטבלת השילובים)
  5. למה next/image עדיף על תגית img רגילה? (רמז: WebP, lazy loading, responsive)

אם עניתם נכון על 4 מתוך 5 — אתם מוכנים לפרק הבא.

סיכום הפרק

הפרק הזה נתן לכם את כל הכלים לשכבה הוויזואלית של אתר מקצועי — בלי לדעת עיצוב, בלי Photoshop, ובלי תקציב. התובנה המרכזית: AI בונה מה שאתם אומרים לו — ואם לא תגידו לו בדיוק איזה אייקונים, פונטים ותמונות להשתמש, הוא ינחש, והתוצאה תהיה לא עקבית. בחירות ויזואליות מודעות = אתר שנראה מקצועי מהשנייה הראשונה.

למדנו ש-Lucide היא ברירת המחדל הבטוחה לאייקונים, ש-Heebo הוא הפונט הישראלי האוניברסלי, ושכל התמונות חייבות לעבור אופטימיזציה — WebP + lazy loading — כדי שהאתר ייטען מהר. כל הכלים חינמיים, וכולם פועלים עם prompt אחד נכון ל-AI.

בפרק הבא נלמד על מבנה פרויקט ו-Routing — איפה שמים כל קובץ בפרויקט Next.js, כולל את הפונטים, האייקונים והתמונות שלמדתם לבחור בפרק הזה. כל מה שבחרנו כאן — שם נראה איפה הוא יושב בתוך הפרויקט. הגדרות הפונט ייכנסו ל-layout.tsx, התמונות ל-public/images, וספריית האייקונים תהיה import שמגיע מ-node_modules.

רשימת בדיקה — מה השלמתם?