רשת CSS היא מנוע פריסה חזק מאוד, אבל השורה
ניתן להשתמש בנתיבים של עמודות שנוצרו ברשת הורה רק למיקום ישיר
הצאצאים של קונטיינר הרשת. כל מחבר הגדיר אזורי רשת בעלי שם
שורות אבדו בכל רכיב אחר מלבד
בילדות ישירה. באמצעות subgrid
אפשר לשתף מידות של מסלולים, תבניות ושמות
עם רשתות מקוננות. במאמר הזה נסביר איך זה עובד.
לפני רשת המשנה, התוכן הותאם לרוב באופן אישי כדי להימנע מפריסות מעורפלות כמו הזה.
אחרי תת-הרשת, ניתן ליישר את התוכן בגדלים השונים.
מידע בסיסי בנושא רשת משנה
לפניכם תרחיש פשוט לדוגמה שמציג את העקרונות הבסיסיים של CSS subgrid
. א'
לרשת מוגדרת שתי עמודות בעלות שם, הראשונה היא ברוחב של 20ch
והשנייה
הוא "השאר" של המרחב המשותף 1fr
. שמות העמודות לא נדרשים, אבל
הוא שימושי למטרות המחשה וחינוך.
.grid {
display: grid;
gap: 1rem;
grid-template-columns: [column-1] 20ch [column-2] 1fr;
}
לאחר מכן, צאצא של הרשת הזו, שמתפרס על שתי העמודות האלה, מוגדר כמאגר רשת,
ומאמצת את העמודות של ההורה על ידי הגדרה של grid-template-columns
subgrid
.
.grid > .subgrid {
grid-column: span 2;
display: grid;
grid-template-columns: subgrid; /* 20ch 1fr */
}
זהו, העמודות של רשת הורה הועברו למעשה לרמה הבאה, לרשת משנה. עכשיו אפשר להקצות צאצאים באחת מהעמודות האלה ברשת המשנה.
האתגר! חוזרים על אותה הדגמה (אבל עושים זאת עבור grid-template-rows
).
שיתוף 'מאקרו' ברמת הדף רשת
בדרך כלל מעצבים עובדים עם רשתות משותפות, משרטטים קווים על פני עיצוב שלם, להתאים כל רכיב שהם רוצים אליו. עכשיו גם מפתחי אתרים יכולים לעשות את זה! הדיוק הזה עכשיו אפשר להשיג את תהליך העבודה ועוד הרבה יותר.
יישום תהליך העבודה הנפוץ ביותר של תהליך העבודה של המעצב יכול לספק
תובנות לגבי היכולות, תהליכי העבודה והפוטנציאל של subgrid
.
הנה צילום מסך של כלי הפיתוח ל-Chrome במאקרו של פריסת דף לנייד רשת. לקווים יש שמות ויש אזורים ברורים למיקום הרכיבים.
שירות ה-CSS הבא יוצר את הרשת הזו עם שורות ועמודות בעלות שם עבור המכשיר הפריסה שלו. לכל שורה ועמודה יש גודל.
.device {
display: grid;
grid-template-rows:
[system-status] 3.5rem
[primary-nav] 3rem
[primary-header] 4rem
[main] auto
[footer] 4rem
[system-gestures] 2rem
;
grid-template-columns: [fullbleed-start] 1rem [main-start] auto [main-end] 1rem [fullbleed-end];
}
כמה סגנונות נוספים מאפשרים את העיצוב הבא.
בתוך הרכיב ההורה הזה יש רכיבים שונים בתצוגת עץ. העיצוב דורש
תמונת רוחב מתחת לשורות הניווט והכותרת. שמות השורות של העמודות השמאלית והימנית ביותר הם fullbleed-start
ו-fullbleed-end
. מתן שמות לקווי רשת באופן הזה
שמאפשרת לילדים להתאים לכל אחד מהם בו-זמנית לפי מיקום
קיצור דרך
מתוך fullbleed
. זה מאוד נוח, כפי שתראו בקרוב.
אחרי שיוצרים את הפריסה הכוללת של המכשיר עם שורות ועמודות עם שמות נעימים, משתמשים ב-subgrid
כדי להעביר את השורות והעמודות עם השמות הנעימים לפריסות רשת בתצוגת עץ. הזה
הוא רגע הקסם של subgrid
. פריסת המכשיר מעבירה את השורות בעלות השם
למאגר האפליקציות, ומעביר אותן לכל אחד מהנכסים
לילדים.
.device > .app,
.app > * {
display: grid;
grid: subgrid / subgrid;
/* same as */
grid-template-rows: subgrid;
grid-template-columns: subgrid;
}
נותר רשת של CSS היא ערך המשמש במקום רשימה של מסלולי רשת. השורות והעמודות שהרכיב משתרע עליהן מהרכיב ההורה הן עכשיו אותן שורות ועמודות שהוא מציע. כך שמות השורות מהרשת .device
יהיו זמינים לצאצאים של .app
, במקום רק ל-.app
. הרכיבים בתוך .app
היו
אין אפשרות להפנות למסלולי הרשת שנוצרו על ידי .device
לפני רשת המשנה.
כאשר כל זה מוגדר, התמונה המוצבת יכולה עכשיו לקבל כיסוי מלא
בזכות subgrid
. אין ערכים שליליים או טריקים שליליים. במקום זאת,
שורה אחת שכתוב בה: "הפריסה שלי מתפרסת מ-fullbleed-start
עד fullbleed-end
".
.app > main img {
grid-area: fullbleed;
}
זהו, רשת מאקרו כמו שהמעצבים משתמשים בה, והיא מוטמעת ב-CSS. הזה יכול להתאים לעומס ולגדל יחד איתך לפי הצורך.
חיפוש תמיכה
התכונה 'שיפור הדרגתי' באמצעות CSS ו-Subgrid היא מוכרת ופשוטה.
משתמשים ב-@supports
ובתוך הסוגריים שואלים את הדפדפן אם הוא מבין שרגולטור משנה הוא ערך של שורות או עמודות בתבנית. בדוגמה הבאה בודקים אם המאפיין grid-template-columns
תומך במילות המפתח subgrid
. אם התוצאה היא true, סימן שאפשר להשתמש ברשת משנה.
@supports (grid-template-columns: subgrid) {
/* safe to enhance to */
}
Devtools
ל-Chrome, Edge, Firefox ו-Safari יש כלי פיתוח מעולים לרשת CSS, וגם Chrome, ל-Edge ו-Firefox יש כלים ספציפיים לעזרה ברשת משנה. הכרזה על Chrome את הכלים 115 ואז הם שמורים ב-Firefox כבר שנה או יותר.
תג המשנה פועל כמו תג הרשת, אבל מבחינה חזותית רשתות הן תת-רשתות, ולאילו לא.
משאבים
הרשימה הזו היא אוסף של מאמרים, הדגמות וטיפים להתחלת העבודה עם רשתות משנה. אם ברצונך לעבור לשלב הבא ברשת המשנה בתחום החינוך, תיהנו לחקור את כל המשאבים הנהדרים האלה!
- MDN
- רייצ'ל אנדרו עם כתוביות מיושרות
- רייצ'ל אנדרו עם 10 דוגמאות מעולות
- רייצ'ל אנדרו עם אתר של דוגמאות
- מאמר של Ahmad Shadeed
- מישל בארקר ביום שירות ה-CSS לשנת 2022
- כרטיסים
- כריס קוייר (Chris Coyier) עם טפסים
- Facundo Corradini עם התאמת טפסים
- כריס קוייר (Chris Coyier) מיישר את הסמנים של הפריטים ברשימה
- מישל בארקר שקופצת מתוך הקונטיינר כדי ליישר קו עם הרשת ההורה
- מרים סוזאן מציגה שמות של שורות עם שמות ואינטראקציות בתת-רשת
- קווין פאוול עם יסודות שנקראים על ידי אזור
- Kevin Powell עם רשימות מותאמות
- שאנון מולר עם רשימות מיושרות
- קווין פאוול עם רשת ברמת הדף שמועברת לרכיבים
- אלד שכטר עם שכבת-על של devtool וחלופה
- אהרון אייקר עם שימוש טיפוגרפי נחמד בתת-רשת לצורך יישור קו הבסיס הערות שוליים
- אדם ארגייל עם תמונה בגלישה מלאה בתוך כתבה