التعشيش في SASS

التعشيش في SASS

تشرح هذه المقالة التعشيش في SASS۔

سنشرح التعشيش في SASS خطوة بخطوة، بما في ذلك أمثلة على الشفرات لتعزيز فهمك۔

YouTube Video

التعشيش في SASS

SASS هي لغة أنماط ممتدة لـ CSS وتوفر العديد من الميزات لتصميم فعال۔ من بين هذه الميزات، يُعد التعشيش ميزة مفيدة بشكل خاص لتمثيل البنية الهرمية لـ CSS بصريًا۔

أساسيات التعشيش

في SASS، يمكنك تنظيم شيفرتك بصريًا عن طريق كتابة بعض المحددات (Selectors) في بنية هرمية۔ على سبيل المثال، دعنا نرى كيف يمكنك إعادة كتابة الكود التالي في 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 لوصف أنماط قائمة التنقل بشكل مختصر وهرمي۔ باستخدام التعشيش، تصبح علاقات الأب مع الأبناء واضحة بصريًا وتتحسن قابلية القراءة۔

الإشارة إلى محدد الأب (&)

عندما تحتاج إلى الإشارة إلى محدد الأب داخل النمط المتعشش، استخدم &۔ يسمح لك ذلك بإنشاء محددات بحالات أو معدلات (modifiers) معينة۔

 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، يمكنك أيضًا تعشيش استعلامات الوسائط۔ يسمح لك ذلك بتطبيق التصميم المتجاوب مع الحفاظ على صلة الأنماط۔

 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}
  • يقوم هذا الكود بتعشيش استعلام الوسائط داخل صنف .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 على قناتنا على YouTube.۔ يرجى التحقق من القناة على YouTube أيضًا.۔

YouTube Video