Web Design
איך לעצב פינות Apple חלקות ב-CSS בלבד עם corner-shape
מדריך מעשי לשימוש בתכונת CSS corner-shape ליצירת Squircles מושלמים. למדו איך להשיג את המראה היוקרתי של אפל בלי מסכות SVG כבדות או קוד מסורבל.
TL;DR
עד לאחרונה, כדי להשיג פינות מעוגלות חלקות באמת (Squircles) בסגנון המוצרים של Apple, נאלצנו להסתבך עם מסכות SVG ותמונות כבדות. התכונה corner-shape ב-CSS פותרת את זה בשורת קוד אחת.
דמיינו את דניאל, מפתח פרונט-אנד בכיר בצוות מוצר ברחוב רוטשילד בתל אביב.
ביום שלישי בבוקר, מעצבת ה-UI ניגשה לשולחן שלו עם קובץ Figma. "הכרטיסים באפליקציה נראים נוקשים מדי", היא אמרה. "ה-border-radius הרגיל נראה כמו קופסה חתוכה. אנחנו צריכים Squircles כמו ב-iOS".
דניאל נאנח. הוא ידע בדיוק מה זה אומר.
הבעיה: הפינה ששוברת את העין
רוב המפתחים מניחים שפינה מעוגלת היא עניין פשוט. רושמים border-radius: 16px וסוגרים עניין.
אבל יש בעיה ויזואלית. ב-border-radius קלאסי, הקו הישר של הכרטיס עובר בפתאומיות מוחלטת לקשת מעגלית. נקודת המעבר הזו יוצרת "שבירה" שעין מאומנת מזהה מיד.
- הגדרה · Squircle
סופר-אליפסה (Squircle) היא צורה גאומטרית בין ריבוע למעגל. העיקול שלה מתחיל בהדרגתיות עדינה לאורך הקו הישר, מה שיוצר המרה רכה וטבעית יותר לעין.
אפל ביססה את כל השפה הניידת שלה על הצורה הזו. מהאייפון ועד האייקונים ב-macOS. הכל מעוגל בהדרגתיות.
הניסיון הראשון: מסכות SVG וסיוט של תחזוקה
דניאל ניסה לפתור את זה בדרכים הישנות.
הוא יצר מסכת SVG (clip-path: url(#squircle-clip)), עטף את הכרטיסים ב-divs נוספים, וניסה להתאים את זה לרספונסיביות של המסך.
זה היה סיוט.
הגבולות (borders) נעלמו, הצלליות (box-shadow) נחתכו באכזריות, ובגלילה מהירה בטלפון נרשמו קרטועים קלים.
0.2ms
זמן רינדור ממוצע ב-CSS טהור לעומת SVG clip-path
מקור: Chrome DevTools, 2026
הקוד נהיה מסורבל. שינוי קטן בגודל הכרטיס דרש חישוב מחדש של ה-SVG.
היה חייב להיות פתרון נקי יותר.
הפתרון: התכונה corner-shape ב-CSS
הפתרון הגיע ישירות ממפרט ה-CSS המודרני.
במקום לחשב מסכות חתוכות, הדפדפן מבין כעת איך לעגל את הפינה בעצמו בעזרת התכונה corner-shape.
הקוד נראה פשוט לגמרי:
.card {
border-radius: 24px;
corner-shape: squircle;
background: #ffffff;
padding: 2rem;
}
זהו. שורת קוד אחת שמבקשת מהדפדפן לשנות את הפונקציה המתמטית של העיקול ממעגל רגיל לסופר-אליפסה.
| מאפיין | border-radius רגיל | SVG Mask | corner-shape: squircle |
|---|---|---|---|
| תחזוקת קוד | קלה מאוד | מורכבת ומסורבלת | קלה מאוד |
| תמיכה ב-box-shadow | מלאה | נחתכת (דורשת מעקף) | מלאה |
| מראה ויזואלי | נוקשה / קטוע | חלק (Apple-style) | חלק (Apple-style) |
| ביצועי GPU | מצוינים | בינוניים | מצוינים |
רוצים לוודא שהאתר שלכם מציג עיצוב מתקדם ומהיר גם יחד? כדאי לבדוק את התנהגות הרכיבים שלכם במכשירים שונים דרך כלי האופטימיזציה שלנו.
תמיכה לאחור בערגה למכשירים ישנים
מה קורה אם דפדפן ישן לא מכיר את המאפיין? הוא פשוט התעלם ממנו והשתמש ב-border-radius הרגיל.
כדי להבטיח התנהגות נשלטת, דניאל הוסיף בדיקת תמיכה פשוטה:
.card {
border-radius: 20px;
}
@supports (corner-shape: squircle) {
.card {
corner-shape: squircle;
border-radius: 28px; /* מומלץ להרחיב מעט את הרדיוס כשעוברים ל-squircle */
}
}
התוצאה הייתה מיידית.
הכרטיסים באפליקציה קיבלו מראה רך, אלגנטי ויוקרתי. הצלליות נשארו רכות, והקוד נשאר קצר ב-90% לעומת ניסיון ה-SVG.
💡
עיצוב יוקרתי לא חייב להגיע במחיר של קוד מסורבל. התכונות החדשות ב-CSS מאפשרות לנו להשיג את המראה של אפל במינימום מאמץ ובמקסימום ביצועים.
הלקח של דניאל מובן: לפני שרץ לפתרונות מורכבים ב-JavaScript או קובצי מדיה כבדים, שווה לבדוק מה ה-CSS המודרני כבר יודע לעשות בעצמו.
שאלות נפוצות
כל מה שעוד רצית לדעת
מה ההבדל הפיזי בין border-radius רגיל לבין squircle?
איך מטפלים בדפדפנים שעדיין לא תומכים בתכונה?
האם התכונה משפיעה על ביצועי הרינדור בדפדפן?
כתב
אדיר בן יעקב · Adir Ben Yaakov
מקים JustBetterSite, סוכנות בניית אתרים ושיווק דיגיטלי בתל אביב. מתמחה ב-GEO (Generative Engine Optimization) — בנייה של אתרים שמופיעים בתשובות של ChatGPT, Claude, Perplexity ו-Gemini, לא רק בגוגל.
עוד עליי →להמשך הקריאה
מאמרים קשורים
Web Design
5 דרכים לעצב חיתוכים ואפקטים מורכבים ב-CSS בלי להכביד על האתר
מדריך פרקטי לשימוש ב-CSS mask ו-clip-path. כך תייצרו אלמנטים ויזואליים מרשימים וחיתוכים יצירתיים בלי קובצי תמונה כבדים ובלי לפגוע במהירות הטעינה.
המשךWeb Design
5 טעויות קריטיות בשימוש ב-Display-P3 ו-OKLCH ב-CSS (ואיך לתקן אותן)
מסכי OLED ומחשבים מודרניים מציגים צבעים עשירים בהרבה מ-sRGB הישן. מדריך מעשי להימנעות מ-5 טעויות נפוצות ב-CSS בשימוש ב-Display-P3 ו-OKLCH.
המשךWeb Design
CSS contrast-color() מול JavaScript: איך לעצב ממשק דינמי ונגיש ב-2026
השוואה מעשית בין פונקציית contrast-color() ב-CSS לבין פתרונות JavaScript ישנים. גלו איך לייצר ניגודיות נגישה ואוטומטית ללא סקריפטים כבדים.
המשך