شما اینجا هستید

مهمترین مفاهیم CSS که باید بدانید
ارسال شده در پ, 07/05/1397 - 11:16 -- توسط abolfazl

مهمترین مفاهیم CSS که باید بدانید

شیوه آبشاری یا Cascade حالتی است که CSS از ابتدا براساس آن طراحی شده است و به همین دلیل نیز است که آن را CSS یا Cascading Style Sheet می‌نامند.

اما واقعا منظور از آبشار و شیوه‌نامه آبشاری چیست؟
مقدمه

بیایید تصور کنیم که ارسطو قصد نوشتن یکسری کد CSS را دارد و بعد از آن به سراغ مرورگر می‌رود تا آن را تست کند. اما بعد از آن با تعجبی همراه می‌شود، به این دلیل که استایل‌هایی که وی نوشته به المان‌ها اعمال نشده است و بجای آن استایل‌های دیگری وجود دارد!

اگر با CSS کار کرده‌ باشید با چنین موضوعی بسیار زیاد برخورد خواهید کرد. باید این موضوع را درک کنید که استایل‌های مختلفی می‌توانند روی یک المان تاثیر بگذارند و روی آن اعمال شوند. بنابراین ممکن است که شما یک پاراگراف در صفحه وب‌تان داشته باشید اما همین پاراگراف ممکن است از بلوک‌های مختلف CSS استایل‌دهی شده باشد.

این درست مانند یک متغیر همگانی جاوااسکریپت است که می‌تواند از طریق هر تابع و یا هر کلاسی در ساختار کدها استفاده شود. شاید به نظرتان عجیب برسد اما خب این موضوع یکی از پایه‌ای ترین مفاهیم CSS است که با آن مواجه خواهید بود.

Cascade چیست؟

Cascade حالتی است که براساس آن مرورگر تعیین می‌کند که چه استایلی به چه المانی داده شود. بسیار ساده است و حتی ممکن است به عنوان یک سوال در یک مصاحبه کاری برای توسعه‌دهندگان Front-End مطرح شود. 

خوشبختانه درک کردن Cascade بسیار ساده است و اساس آن تنها دو فاکتور کلی است:

اختصاصی بودن سلکتورهای یک المنت
ترتیب استایل‌های نوشته شده

بیایید نگاهی سریع به این موارد بیاندازیم.

اختصاصی بودن سلکتور

می‌توانید اختصاصی بودن سلکتورها را مشابه با حالتی مشاهده کنید که در آن یک انسان راه حلی را تفسیر می‌کند. برای مثال تصویر زیر را در نظر بگیرید:

اگر من به شما بگویم که «جعبه قرمز را به من بده» کدام مورد را به من می‌دهید؟ دو جعبه قرمز وجود دارد!

در این حالت شما از من می‌پرسید که «منظورت کدوم جعبه‌ست a یا b؟»

یا شاید هم قبل از اینکه چیزی بپرسید هر دو جعبه را پیش من بیاورید. منطقی هم هست هر دو جعبه قرمز هستند.

در چنین شرایطی مرورگر براساس روش اختصاصی بودن المان‌ها کار را انجام می‌دهد.

وقتی که می‌گویید پاراگراف را با رنگ Red استایل دهی کن:

از آنجایی که المان‌های پاراگراف بسیاری روی برگه قرار دارند، مرورگر می‌پرسد که منظور کدام پاراگراف است!

خب مرورگر در چنین شرایطی واقعا نمی‌تواند بپرسد به همین دلیل تمام پاراگراف‌ها را دریافت کرده و پس زمینه قرمز را روی آن‌ها اعمال می‌کند. 

با این حال اگر یک پاراگراف با کلاس reddy را انتخاب کنید، مرورگر می‌تواند دقیق‌تر عمل کند.

حال مرورگر می‌تواند المان یا المان‌های منحصر به فردی از پاراگراف را با پس زمینه قرمز به شما نشان دهد.

به صورت تکنیکی باید بگویم که مرورگر ابتدا نگاهی به تمام سلکتورها که هر کدام المان منحصر به فردی را انتخاب کرده‌اند می‌اندازد و برای هر کدام از آن‌ها یک امتیاز در نظر می‌گیرد. موردی که منحصر به فرد تر است امتیاز بالاتری خواهد داشت و در نتیجه برنده خواهد بود. روند محاسبه این امتیازات بسیار ساده است.

حالتی را در نظر بگیرید که مرورگر در حال تفسیر کدهای CSS، ۴ گل (امتیاز) را در نظر دارد.

1.برای هر استایل inline که یک المان را از طریق خاصیت style هدف قرار می‌دهد یک گل برای دروازه a حساب می‌شود. 
۲.برای هر سلکتور id یک گل برای دروازه b حساب می‌شود. 
۳.برای هر سلکتور class، سلکتورهای خاصیت و شبکه کلاس‌ها یک گل برای دروازه c در نظر گرفته می‌شود.
۴.برای تمام المنت سلکتورها و شبه المنت‌ها یک گل برای دروازه c حساب می‌شود.

اگر به صورتی واضح تر بخواهم این سیستم را شرح دهم باید تصویر زیر را ارائه دهم.

در نهایت ساختار امتیاز دهی براساس عمل پیوند زدن به یک عدد ۴ رقمی می‌رسد. براساس همین عدد ۴ رقمی است که می‌شود برنده را اعلام کرد. منظور از برنده اولویت‌بندی المان‌هاست.

CSS زیر را در نظر بگیرید:

مرورگر چگونه برای سلکتور زیر امتیازات را حساب می‌کند؟

خبری از استایل inline نیست پس امتیاز برای اولین دروازه صفر است.
یک سلکتور id  با نام #nav وجود دارد بنابراین امتیاز ۱ برای دروازه دوم حساب می‌شود.
یک سلکتور class با نام .removed و یک سلکتور شبه کلاس با نام :hover وجود دارد، به همین دلیل امتیاز برابر با ۲ خواهد بود.
یک سلکتور برای المان منحصر به فرد نیز با نام a قرار دارد که براساس این یک امتیاز برای دروازه d حساب می‌شود.

در زیر به صورت تصویری می‌توانید امتیازات را مشاهده کنید:

امتیاز نهایی بعد از پیوند زدن برابر با ۰۱۲۱ خواهد بود. 

حال اگر این موضوع را به درستی متوجه شدید،‌ به من نتیجه محاسبه کدهای زیر را بگویید:

ترتیب استایل

دومین فاکتوری که روی حالت آبشاری CSS تاثیر می‌گذارد شیوه ترتیب دهی استایل‌ها است. یک مثال کلی از این موضوع را می‌شود در استایل‌دهی به یک المان در دو بلوک مختلف مشاهده کرد.

برای مثال:

اگرچه هر دو سلکتور یک میزان از منحصر به فرد بودن را ارائه می‌دهند اما قاعده ترتیب دهی وارد قضیه می‌شود.

آخرین استایلی که برای یک المان تعریف کرده‌اید همواره روی استایل‌های قبلی خود قرار می‌گیرد.

سوال 

سند زیر را در نظر بگیرید، رنگ متن مربوط به تگ a چه خواهد بود:

آبی یا قرمز؟

نکته اینجاست که المان‌ ما هم از طریق inline و هم در حالت internal استایل‌دهی شده است.

در چنین حالتی همواره استایل inline برنده خواهد بود. به این دلیل که گل در دروازه اول قرار می‌گیرد و به همین دلیل امتیاز ۴ رقمی ما بیشتر خواهد بود. ۱۰۰۰ بیشتر از ۰۹۰۰ است. درست است؟

در پایان

امیدوارم که با خواندن این مطلب درک کاملا درستی از هسته اصلی CSS پیدا کرده باشید. مطمئنا با دانستن اینکه CSS دقیقا چگونه کار می‌کند درک موضوعات پیچیده‌تر برای‌تان ساده‌تر خواهد بود.

دسته بندی: 

دیدگاه‌ها

quick business loans for startup quick installment loans online review quick loans quick funding loans freedom card safe quick loans

quick loans rates quick way to pay student loans [url=http://nnpix.ru/ ]quick loan[/url] quick loans no credit check near me quick payday loans wichita ks

how to pay student loans quick personal loans quick quick loan quick cash loans scam www.american.bank/loans#loan-quick-pay

bad credit loans quick approval quick no hassle installment loans [url=https://paydailoanz.com/# ] quick loan[/url] quick loans calculator quick loans bad credit with monthly payments

https://paydailoanz.com/# - quick loan

quick small loans online $1500 quick cash loans today quick loans quick installment loans online review quick loans under 500

quick small loans for bad credit quick loans for millenials [url=https://paydailoanz.com/# ] quick loan[/url] quick loans no credit check same day quick loans albany ga

https://paydailoanz.com/# - quick loans

best ways to make money online how did mark cuban make his money make money how do you make money on youtube how to make money selling drugs

how much money do youtubers make best way to make money online [url=https://make-money-blogs.com/# ] work from home[/url] how did george soros make his money make money online free

https://make-money-blogs.com/# - work from home

make money how to make money online for free work from home how to make money on the internet make money taking surveys

ways to make money at home how to make money on youtube videos [url=https://make-money-blogs.com/# ] make money[/url] how to make money on facebook make money on facebook

https://make-money-blogs.com/# - work from home

make money online make money taking surveys work from home make money now instant payout make money on the side

how to make money online fast how much money can you make on disability [url=https://make-money-blogs.com/# ] make money[/url] make money at home make real money online

https://make-money-blogs.com/# - work from home

best ways to make money online legit ways to make money online work from home how did betsy devos make her money make money now instant payout

make money from home how to make money on youtube [url=https://make-money-blogs.com/# ] make money[/url] how to make money on the internet make money now

https://make-money-blogs.com/# - make money

ways to make money how to make money without a job work from home easy ways to make money how did jeffrey epstein make his money

make extra money how does facebook make money [url=https://make-money-blogs.com/# ] work from home[/url] how to make money quick how to start a blog and make money

https://make-money-blogs.com/# - make money

how to make money on instagram how do you make money on youtube make money ways to make money from home how does craigslist make money

where did nancy pelosi make her money easy way to make money [url=http://productmusic.ru/] make money[/url] legitimate ways make extra money how to make money as a kid

http://raduga-expo.ru/ - make money

how much money can you make on disability how much money can you make on disability make money how to make money on amazon how much money can you make on youtube

ways to make money at home make money now instant payout [url=http://0fm.ru/] make money[/url] make money online surveys apps to make money

http://stroimmu.ru/ - work from home

how much money can you make on youtube make money fast make money legit ways to make money online ways to make money on the side

make money on the side legit ways to make money online [url=http://alt67.ru/] make money[/url] how much money does pewdiepie make how did mark cuban make his money

http://webvolgograd.ru/ - make money

make money on facebook how to make money without a job make money hobbies that make money best way to make money

make extra money from home how do you make money on youtube [url=https://kotosinog.ru/] make money[/url] how to make money on youtube ways to make money on the side

https://leykatu.ru/ - work from home

make money online from home how to make money on instagram work from home how to make money on instagram how did mark cuban make his money

how to make money on instagram how to make money on youtube [url=http://blooddrive.ru/] work from home[/url] how to make money selling drugs how does craigslist make money

http://tex-kapriz.ru/ - work from home

free casino games online [url=http://onlinecasinogamespcx.com/ ]vegas casino slots [/url] online slots casino real money free casino slot games

online gambling http://onlinecasinosw.com/ big fish casino casino bonus codes online casinos

http://onlinecasinogamespcx.com/ best online casinos [url=http://onlinecasinogamespcx.com/ ]online casino slots [/url] casino real money

http://onlinecasinogamespcx.com/ online casino gambling play slots free casino vegas casino slots

play online casino http://onlinecasinosw.com/ online casino online slots play slots

slot games http://onlinecasinogamespcx.com/ best online casino real money casino free slots games

http://onlinecasinogamespcx.com/ gold fish casino slots [url=http://onlinecasinogamespcx.com/ ]real casino slots [/url] casino bonus codes

big fish casino big fish casino casino online

play casino online casino slots play slots

vegas slots online http://onlinecasinosw.com/ play online casino free casino slot games real money casino

online casino real money slots free slots games best online casinos [url=http://onlinecasinosw.com/ ]vegas slots online [/url]

http://playcasinosw.com/ online casino play slots slots for real money gold fish casino slots

free online slots [url=http://onlinecasinopc.com/ ]online casino slots [/url] online casinos online slot games casino bonus codes

cashman casino slots [url=http://playcasinosw.com/ ]play online casino [/url] real money casino slots games free

http://onlinecasinopc.com/ free casino best online casinos free casino online casino bonus

online casino real money [url=http://playcasinosw.com/ ]online casino real money [/url] free slots casino real money free casino

free slots [url=http://casinoplaysw.com/ ]no deposit casino [/url] casino online play online casino free online slots

http://playcasinosw.com/ best online casino [url=http://playcasinosw.com/ ]casino bonus codes [/url] vegas casino slots

real casino slots [url=http://casinoplaysw.com/ ]big fish casino [/url] slot games online gambling vegas slots online

http://playcasinosw.com/ best online casinos online casino games online casino online casino gambling

slots games free vegas slots online online slots free slots games [url=http://casinoplaysw.com/ ]free casino slot games [/url]

free slots [url=http://playcasinosw.com/ ]slots games [/url] free online slots slot games

online casinos big fish casino no deposit casino casino online

online slots no deposit casino slots games free

casino bonus codes [url=http://casinoslotspc.com/ ]casino online slots [/url] free casino games online casino online slots

free online slots slots for real money casino game online slot games

casino blackjack play casino free casino

free casino games online [url=http://casinoslotspc.com/ ]online casino [/url] online casino slots games

http://casinoplaysw.com/ slot games casino online online casino free casino games online

play online casino [url=http://casinoslotspc.com/ ]no deposit casino [/url] casino bonus codes online casinos online casino real money

صفحه‌ها

افزودن دیدگاه جدید

دیدگاه

  • تگ‌های HTML مجاز: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.

Plain text

  • تگ‌های HTML مجاز نیستند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
كد امنيتي
این پرسش برای جلوگیری از ارسال اسپمهای اتوماتیک است.