קינון ב-SASS
מאמר זה מסביר את נושא הקינון ב-SASS.
נסביר את הקינון ב-SASS שלב אחר שלב, כולל דוגמאות קוד, כדי להעמיק את ההבנה שלך.
YouTube Video
קינון ב-SASS
SASS היא שפת עימוד מורחבת ל-CSS המציעה תכונות רבות לעיצוב יעיל. מתוך תכונות אלו, הקינון הוא תכונה מועילה במיוחד לייצוג חזותי של מבנה היררכי ב-CSS.
יסודות הקינון
ב-SASS ניתן לארגן את הקוד בצורה חזותית על ידי כתיבת בוררי CSS במבנה היררכי. לדוגמה, בואו נבחן כיצד ניתן לכתוב מחדש את קוד ה-CSS הבא באמצעות קינון.
1/* CSS */
2.nav {
3 background-color: #333;
4}
5.nav ul {
6 margin: 0;
7 padding: 0;
8}
9.nav ul li {
10 list-style: none;
11}
12.nav ul li a {
13 color: #fff;
14 text-decoration: none;
15}
בעזרת SASS, ניתן לכתוב את קוד זה בתמצות ובקינון, כפי שמוצג למטה.
1/* SASS */
2.nav {
3 background-color: #333;
4
5 ul {
6 margin: 0;
7 padding: 0;
8
9 li {
10 list-style: none;
11
12 a {
13 color: #fff;
14 text-decoration: none;
15 }
16 }
17 }
18}
- קוד זה עושה שימוש בתכונת הקינון של SASS כדי לתאר את סגנון תפריט הניווט בצורה תמציתית והיררכית. באמצעות קינון, יחסי ההורה-ילד הופכים לברורים יותר חזותית והקריאות משתפרת.
הפניה לבוררי הורה (&
)
כאשר יש צורך להתייחס לבורר ההורה בתוך סגנון מקונן, יש להשתמש ב-&
. כך ניתן ליצור בוררים למצבים או למודיפיירים מסוימים.
1.button {
2 background-color: #007bff;
3 color: #fff;
4
5 &:hover {
6 background-color: #0056b3;
7 }
8
9 &:active {
10 background-color: #003f7f;
11 }
12}
- קוד זה עושה שימוש ב-
&
ב-SCSS כדי להגדיר את המצבים:hover
ו-:active
לבורר ההורה.button
.
CSS שנוצר
1.button {
2 background-color: #007bff;
3 color: #fff;
4}
5.button:hover {
6 background-color: #0056b3;
7}
8.button:active {
9 background-color: #003f7f;
10}
קינון של Media Queries
ב-SASS, ניתן גם לקנן media queries. באמצעות זאת, ניתן ליישם עיצוב רספונסיבי תוך שמירה על הקשר הלוגי של הסגנונות.
1.container {
2 width: 100%;
3
4 @media (min-width: 768px) {
5 width: 750px;
6 }
7
8 @media (min-width: 1024px) {
9 width: 970px;
10 }
11}
- קוד זה מקנן media query בתוך המחלקה
.container
, ומאפשר עיצוב רספונסיבי שמשנה את הרוחב לפי גודל המסך.
CSS שנוצר
1.container {
2 width: 100%;
3}
4@media (min-width: 768px) {
5 .container {
6 width: 750px;
7 }
8}
9@media (min-width: 1024px) {
10 .container {
11 width: 970px;
12 }
13}
נקודות חשובות בנוגע לקינון
שימוש רב מדי בקינון עלול להוביל לשכבות קוד עמוקות ולהקטין את התחזוקתיות. מומלץ להימנע מקינון עמוק כפי שמודגם להלן.
1.header {
2 .nav {
3 ul {
4 li {
5 a {
6 color: red;
7 }
8 }
9 }
10 }
11}
סוג כזה של קוד מקונן לעומק רב מדי, ולכן ניתן לבצע לו ריפקטורינג באופן הבא.
1.header .nav ul li a {
2 color: red;
3}
דוגמה מעשית: סרגל ניווט
להלן דוגמה לעיצוב סרגל ניווט באמצעות קינון ב-SASS.
1.navbar {
2 background-color: #222;
3 color: #fff;
4
5 ul {
6 display: flex;
7 list-style: none;
8 margin: 0;
9 padding: 0;
10
11 li {
12 margin-right: 15px;
13
14 a {
15 color: #fff;
16 text-decoration: none;
17
18 &:hover {
19 text-decoration: underline;
20 }
21 }
22 }
23 }
24}
- קוד זה מארגן ומגדיר את הסגנונות של רשימות וקישורים בסרגל הניווט (כולל אפקטים של ריחוף) באמצעות קינון של SASS.
CSS שנוצר
1.navbar {
2 background-color: #222;
3 color: #fff;
4}
5.navbar ul {
6 display: flex;
7 list-style: none;
8 margin: 0;
9 padding: 0;
10}
11.navbar ul li {
12 margin-right: 15px;
13}
14.navbar ul li a {
15 color: #fff;
16 text-decoration: none;
17}
18.navbar ul li a:hover {
19 text-decoration: underline;
20}
סיכום
תכונת הקינון ב-SASS היא כלי עוצמתי לתיאור תמציתי של מבנה היררכי ב-CSS ולשיפור הקריאות. עם זאת, חשוב להימנע מקינון מיותר ולארגן את הקוד בצורה נכונה.
תוכלו לעקוב אחר המאמר שלמעלה באמצעות Visual Studio Code בערוץ היוטיוב שלנו. נא לבדוק גם את ערוץ היוטיוב.