متوقف کردن بیش از حد CSS: طرح های اصلی ، متغیرها و بهترین روش های مدرن

HTML همه چیزها چیست؟
HTML All Things یک پادکست توسعه وب و جامعه Discord است که توسط مت و مایک ، توسعه دهندگان مستقر در انتاریو ، کانادا آغاز شد.
پادکست با موضوعات توسعه وب و همچنین اداره یک تجارت کوچک ، خود اشتغالی و مدیریت زمان صحبت می کند. شما می توانید هم برای موفقیت های آنها و هم برای مبارزات آنها به آنها بپیوندید ، زیرا آنها سعی می کنند بدون اینکه خودشان خیلی نازک باشند ، مدیریت توسعه وب خود را گسترش دهند.
اسپانسر قسمت – استودیوی Wix
ما می خواهیم از اسپانسر این قسمت بخاطر پشتیبانی آنها تشکر کنیم!
Wix Studio: بستر وب آژانس ها و شرکت ها
Wix Studio پلتفرم وب جدید متناسب با طراحان ، توسعه دهندگان و بازاریابان است که برای دیگران یا برای سازمان های بزرگ وب سایت می سازند. Magic of Wix Studio قابلیت های پیشرفته طراحی آن است که باعث می شود ایجاد وب سایت کارآمد و بصری باشد.
امروز Wix Studio را بررسی کنید.
نحوه پشتیبانی از نمایش
پاترون
قیمت ها در معرض تغییر هستند و در دلار ذکر شده اند
- از نمایشگاه از 1 $ 1 ماه در ماه پشتیبانی کنید
- در پایان قسمت فریاد بزنید (در حالی که آخرین منابع) فقط 3 دلار در ماه
- به پشتیبانی از HTML همه موارد پادکست کمک کنید: اینجا را کلیک کنید
یادداشت ها
مقدمه
- چرا CSS غالباً نادیده گرفته می شود یا سوء تفاهم می شود.
- در مورد تصور غلط بحث کنید که CSS “فقط یک ظاهر طراحی شده” است و به اندازه JavaScript یا منطق پس زمینه بسیار مهم نیست.
- CSS به عنوان ستون توسعه وب مدرن:
- CSS فراتر از زیبایی شناسی است. این امر برای تهیه تجربیاتی که با دستگاه های مختلف سازگار هستند ، عملکرد را تقویت می کنند و از دسترسی اطمینان می کنند ، ضروری است.
- CSS با کنترل نحوه ارائه محتوا ، اطمینان از خوانایی و مدیریت طرح های پویا که به نیازهای کاربر پاسخ می دهند ، بر تجربه کاربر تأثیر می گذارد.
- به عنوان مثال ، CSS طرح های پاسخگو را قادر می سازد که به طور خودکار طرح بندی را برای کاربران موبایل ، تبلت و دسک تاپ تنظیم کند بدون اینکه به محتوای تکراری یا پرونده های HTML جداگانه بپردازد.
- قابلیت دسترسی جنبه اصلی CSS است ، که در آن خواص مانند
focus
باcontrast
و اندازه فونت پاسخگو اطمینان می دهد که وب سایت ها توسط همه ، از جمله افراد دارای معلولیت قابل استفاده هستند.
- CSS و بهینه سازی عملکرد:
- CSS ساختار یافته به درستی با جلوگیری از سبک های بیش از حد درون خطی و استفاده از حافظه پنهان از طریق برگه های خارجی ، زمان بارگذاری را کاهش می دهد.
- با استفاده از ویژگی های مدرن CSS مانند
grid-template-areas
، توسعه دهندگان می توانند به طرح های پیچیده ای با خطوط کمتری کد ، افزایش راندمان و قابلیت حفظ دست یابند.
- چارچوب ها و ابزارهای CSS مانند Tailwind ، Bootstrap و ویژگی های مدرن باعث شده CSS در سیستم های طراحی مبتنی بر قطعات اصلی باشد.
- مروری بر آنچه در قسمت تحت پوشش قرار خواهد گرفت.
- یک نقشه راه برای درگیر کردن شنوندگان فراهم کنید.
2. اصول اولیه درست انجام شده است
- تفکیک نگرانی ها: نگه داشتن ساختار ، یک ظاهر طراحی شده و رفتار جدا.
- تعریف: جدایی نگرانی ها تضمین می کند که HTML ساختار را کنترل می کند ، CSS یک ظاهر طراحی شده را کنترل می کند ، و جاوا اسکریپت تعامل را انجام می دهد. هر لایه مسئول دامنه خود است.
- جداسازی صفحه شیوه:
- برای تمیز نگه داشتن HTML و متمرکز بر ساختار معنایی ، از برگه های خارجی برای کلیه قوانین CSS استفاده کنید.
- شیوه های مدولار را برای جنبه های مختلف پروژه مانند حفظ کنید.
global.css
برای سبک های جهانی ،components.css
برای عناصر قابل استفاده مجدد ، وpages.css
برای قوانین خاص صفحه - از ابزارهای پیش پردازنده مانند SASS برای تقسیم سبک ها به قسمت ها استفاده کنید (به عنوان مثال ،
_buttons.scss
با_forms.scss
) و آنها را در یک صفحه شیوه ای آماده تولید ترکیب کنید.
- مزایا:
- حفظ قابلیت حفظ: تغییرات در یک لایه سهوا بر دیگران تأثیر نمی گذارد.
- قابلیت استفاده مجدد: سبک ها را می توان در چندین صفحه یا مؤلفه ها بدون کپی کردن ساختار یا منطق استفاده مجدد کرد.
- همکاری پیشرفته: توسعه دهندگان متخصص در مناطق مختلف می توانند به طور موازی کار کنند.
- مشکلات مشترک:
- مخلوط کردن سبک های درون خطی یا دستکاری CSS مبتنی بر جاوا اسکریپت در HTML.
- اعتماد بیش از حد به
style
ویژگی ها
- بهترین روشها:
- به وضوح پرونده ها را برای جدا کردن سبک های جهانی ، سبک های مؤلفه و کلاس های ابزار ساختار می کند.
- برای حفظ وضوح از چارچوب های CSS یا متدولوژی (به عنوان مثال BEM) استفاده کنید.
- نمونه:
- نادرست:
Hello
- درست: کلاس مانند را تعریف کنید
.text-red
در یک صفحه سبک خارجی و استفاده از آن:Hello
- نادرست:
- چه موقع از سبک های درون خطی در مقابل شیوه های شیوه استفاده کنید.
- سبک های درون خطی:
- ایده آل برای تغییرات سریع و یک طرفه که در آن ویرایش شیوه نامه بیش از حد است.
- در محتوای تولید شده پویا ، مانند سبک هایی که مستقیماً از طریق JavaScript اعمال می شود ، مفید است.
- مثال: برجسته کردن یک عنصر خاص به صورت پویا با JavaScript:
element.style.backgroundColor="yellow";
بشر
- برگه های سبک:
- بهترین برای حفظ قوام در چندین صفحه یا مؤلفه ها.
- برای پروژه های بزرگتر که در آن سبک ها نیاز به استفاده مجدد یا سازماندهی منطقی دارند ضروری است.
- مثال: یک کلاس را در صفحه شیوه ای تعریف کنید:
.highlight { background-color: yellow; }
و آن را در عناصر مربوطه اعمال کنید.
- ملاحظات کلیدی:
- برای جلوگیری از HTML نفخ و سخت و سخت ، از سبک های درون خطی استفاده کنید.
- برای مقیاس پذیری ، خوانایی و قابلیت حفظ ، به شیوه های شیوه ای اعتماد کنید.
- سبک های درون خطی:
- جلوگیری از بیش از حد خاص در انتخاب کنندگان.
- بیش از حد خاص می تواند منجر به کد سفت و سخت و غیرقابل کنترل شود که نادیده گرفتن یا استفاده مجدد آن دشوار است.
- به عنوان مثال ، یک انتخاب کننده مانند
.main-content > div.article > h1.title
ممکن است در ابتدا کار کند اما هنگامی که تغییر در ساختار HTML نیاز به به روزرسانی CSS دارد ، مشکل ساز می شود. - در عوض ، از انتخاب کننده های مبتنی بر کلاس استفاده کنید
.article-title
که با تغییرات ساختاری سازگار تر هستند. - یک استراتژی سلسله مراتبی اتخاذ کنید که در آن سبک های عمومی به طور گسترده و خاص تر از آبشار به طور طبیعی برای تصحیح جزئیات استفاده می کنند.
- ابزارهایی مانند ماشین حساب های ویژگی CSS می توانند به توسعه دهندگان کمک کنند تا ویژگی انتخاب کننده را تجزیه و تحلیل و مدیریت کنند.
- بهترین روشها برای سازماندهی پرونده های CSS.
- سبک های مدولار را با تقسیم آنها به بخش های منطقی مانند مؤلفه ها ، چیدمان و برنامه های کاربردی.
- یک ساختار پوشه ایجاد کنید تا این بخش ها منعکس شود. به عنوان مثال ، از دایرکتوری مانند استفاده کنید
components
باlayout
باutilities
وتbase
برای سازماندهی پرونده ها - یک پرونده سبک جهانی را برای قوانین اساسی مانند تایپوگرافی و طرح های رنگی حفظ کنید.
- از کنوانسیون های نامگذاری مداوم که با روش انتخاب CSS انتخاب شده (به عنوان مثال ، BEM) هماهنگ است ، استفاده کنید.
- ابزارهای اهرمی مانند SASS یا POSTCS برای ایجاد جزئی و وارد کردن آنها به یک صفحه اصلی ، از فایلهای کوچکتر و قابل کنترل اطمینان می دهند.
3. ابزارهای طرح مدرن
- Flexbox: چه موقع و چگونه می توان از آن به طور مؤثر استفاده کرد.
- ایده آل برای طرح های یک بعدی (ردیف یا ستون).
- مشکلات رایج و نکات اشکال زدایی.
- شبکه: مقابله با طرح های پیچیده با سهولت.
- بهترین برای طرح های دو بعدی.
- نمونه هایی مانند داشبورد یا طرح های گالری را ارائه دهید.
- چه زمانی برای ترکیب شبکه و فلکس جعبه.
- از مواردی استفاده کنید که ترکیب این دو بهترین نتیجه را به دست می آورد.
- نمایش داده های رسانه ای در مقابل نمایش داده های کانتینر: تکامل طراحی پاسخگو.
- نمایش داده شدگان رسانه ای با دیدگاه گره خورده اند و باعث می شوند وقتی که مؤلفه ها به طور مستقل از اندازه صفحه نمایش سازگار شوند ، آنها را کمتر مؤثر کند.
- نمایش داده های کانتینر اجازه می دهد تا سبک ها بر اساس اندازه ظرف به جای نمای Viewport اعمال شود و کنترل گرانول بیشتری را ارائه دهد.
- به عنوان مثال ، یک مؤلفه کارت می تواند بدون تکیه بر ابعاد کلی صفحه ، طرح خود را در یک شبکه بر اساس فضای موجود تنظیم کند.
- این انعطاف پذیری به ویژه برای مؤلفه های ماژولار و قابل استفاده مجدد در طراحی وب مدرن مفید است.
4. خصوصیات سفارشی (متغیرهای CSS)
- آنها چه هستند و چرا آنها اهمیت دارند.
- متغیرها اجازه می دهند تا مضامین مداوم و به روزرسانی های آسان تر.
- نمونه های عملی: مضامین و سبک های پویا.
- نحوه ایجاد حالت تاریک یا به روزرسانی رنگ ها را به صورت پویا نشان دهید.
- نکات اشکال زدایی و مشکلات.
- ابزارها و استراتژی ها برای ردیابی مقادیر متغیر.
5. روشهای CSS برای پروژه های مقیاس پذیر
- نمای کلی BEM ، OOCS و SMACS.
- BEM بر ایجاد مؤلفه های قابل استفاده مجدد با یک کنوانسیون نامگذاری روشن تمرکز دارد و مدیریت پروژه های بزرگ را آسان تر می کند.
- OOCSS بر جداسازی ساختار و پوست برای ترویج سبک های قابل استفاده مجدد در بین عناصر تأکید دارد.
- SMACSS برای ساده سازی نگهداری ، سبک ها را به ماژول ها ، پایه ، چیدمان و حالت طبقه بندی می کند.
- نحوه انتخاب روش مناسب برای پروژه خود.
- اندازه و پیچیدگی پروژه را در نظر بگیرید.
- آشنایی تیم و نیاز به همکاری مداوم را ارزیابی کنید.
- از BEM برای برنامه های سنگین قطعات ، OOCS برای راه حل های ساده اما مقیاس پذیر و SMACS برای پروژه های بزرگتر که نیاز به طبقه بندی ساختاری دارند ، استفاده کنید.
- نمونه ها و مزایای دنیای واقعی.
- BEM: طراحی UI مدولار که در آن اجزای مانند دکمه ها و کارت ها از الگوهای واضح پیروی می کنند (
.button--primary
با.card__header
). - OOCS: استفاده از سبک هایی مانند
.box
برای عناصر ساختاری و.theme-dark
برای پوست ، امکان انعطاف پذیری را فراهم می کند. - SMACSS: استفاده از سبک های چیدمان در
layout.css
پرونده و حفظ سبک های دولتی (.is-active
) به طور جداگانه ، کاهش درگیری ها.
- BEM: طراحی UI مدولار که در آن اجزای مانند دکمه ها و کارت ها از الگوهای واضح پیروی می کنند (
- نکاتی برای اجرای روشها.
- با معرفی یک روش در یک پروژه آزمایشی ، کوچک را شروع کنید.
- کنوانسیون های نامگذاری اسناد و بهترین شیوه ها برای تصویب تیم.
- به طور مرتب سبک های Refactor برای اطمینان از پیروی از روش انتخاب شده.
6. دسترسی در CSS
- کنتراست رنگ و خوانایی.
- برای ارزیابی و بهبود نسبت های کنتراست از ابزاری مانند Checker Contrast Contrast یا ابزارهای DEV مرورگر استفاده کنید.
- به عنوان مثال ، اطمینان حاصل کنید که با استفاده از یک لایه پس زمینه نیمه شفاف ، متن روی تصاویر قابل خواندن است.
- با استفاده از حالت های تمرکز به طور موثر.
- اهمیت شاخص های تمرکز قابل مشاهده برای ناوبری صفحه کلید.
- اجتناب از ضد الگوی که به دسترسی آسیب می رسانند.
- نمونه هایی از شیوه های بد مانند شاخص های تمرکز پنهان یا متن کم کنتراست.
7. کاوش در ویژگی های برش
- نمایش داده های کانتینر: نحوه کار آنها و چه زمانی از آنها استفاده کنید.
- توضیح دهید که چگونه نمایش داده های کانتینر با نمایش داده های رسانه ای متفاوت است.
- نمونه هایی مانند تغییر اندازه قطعات را در یک شبکه ارائه دهید.
- انیمیشن های مرتبط با پیمایش: ایجاد جلوه های پویا و کاربر پسند.
- جلوه های پیمایش صاف مرتبط با تعامل کاربر را نشان دهید.
- سایر به روزرسانی های اخیر در CSS (به عنوان مثال ، زیر شبکه ، انتخاب کنندگان لانه سازی).
- این ویژگی ها را با مثال معرفی کنید.
8. اجتناب از ضد الگوهای رایج
- بیش از حد
!important
بشر- به عنوان مثال ، استفاده از
!important
نادیده گرفتن سبک ها در یک پروژه بزرگ می تواند درگیری ایجاد کرده و اشکال زدایی را دشوار کند. - درعوض ، برای جلوگیری از نیاز به بهبود ویژگی انتخاب کننده یا بازسازی سبک های خود تمرکز کنید
!important
بشر - به عنوان مثال ، اطمینان حاصل کنید که سبک های یک مؤلفه در یک سلسله مراتب کلاس کاملاً تعریف شده محصور شده اند تا کنترل را بدون غلبه حفظ کنند.
- به عنوان مثال ، استفاده از
- سبک های درون خطی: چه زمانی از آنها استفاده کنید و از آنها جلوگیری کنید.
- در مورد اشکال در مورد عملکرد و حفظ قابلیت حفظ بحث کنید.
- با تکیه بر هک های میراث برای مشکلات مدرن.
- استفاده از راه حل ها و ابزارهای مدرن CSS را تشویق کنید.
جدول زمانی
Timestamps دستگاه تولید می شود – ممکن است برخی از خطاها وجود داشته باشد.
- 00:00 مقدمه پادکست
- 01:07 نمای کلی قسمت: CSS Mastery
- 02:36 نقش CSS در توسعه وب مدرن
- 04:00 طراحی و دسترسی پاسخگو
- 06:24 CSS برای عملکرد و قابلیت حفظ
- 12:04 سازماندهی CSS خود
- 16:56 مشکلات و بهترین روشها
- 28:30 درک ویژگی CSS
- 30:30 درک ویژگی CSS
- 30:43 اهمیت “! مهم” در CSS
- 33:47 نکات عملی برای اشکال زدایی CSS
- 34:40 ابزار طرح بندی مدرن: Flexbox و Grid
- 37:18 طراحی پاسخگو با رسانه ها و نمایش داده های کانتینر
- 40:31 متغیرهای CSS و خصوصیات سفارشی
- 42:48 روش شناسی مقیاس پذیر CSS: BEM ، OOCS ، SMACSS
- 52:28 دسترسی در CSS
- 56:51 جوانب مثبت و منفی استفاده از “! مهم”
- 01:00:33 افکار نهایی در مورد بهترین روشهای CSS