سه روش برای اضافه کردن CSS به HTML
کدهای CSS را به سه روش می توان به اسناد HTML اضافه کرد:
- روش Inline یا در خط - با استفاده از صفت style به طور مستقیم کدهای CSS برای عناصر HTML استفاده شود.
- روش Internal یا داخلی - با استفاده از عنصر
<style>
در قسمت<head>
از سند HTML کدهای CSS اضافه شوند. - روش External یا خارجی - در این عناصر HTML با یک فایل CSS خارجی استایل دهی می شوند.
روش External یا (خارجی)
ز روش External برای دادن استایل به تعداد زیادی صفحه HTML استفاده می شود.
در این روش به این دلیل که ما از یک فایل خارجی برای استایل دهی به تمام صفحات وب سایت استفاده می کنیم با تغییر کدهای تنها همین یک فایل می توانیم شاهد تغییر ظاهر همه ی صفحات وب سایت باشیم.
در روش External برای ارجاع فایل خارجی CSS باید آدرس آن فایل CSS را در صفت href
از عنصر <link>
قرار داد.
توجه داشته باشید که عنصر <link>
فقط میتواند داخل بخش <head>
از سند HTML قرار بگیرد و نباید از این عنصر در بخش های دیگر از سند HTML مانند بخش <body>
استفاده شود:
مثال
در این مثال از یک فایل خارجی CSS برای استایل دهی به عناصر HTML استفاده شده است:
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
یک فایل External (خارجی) CSS می تواند در هر ویرایشگر متنی نوشته شود. در این فایل نباید از تگ های HTML استفاده شود و باید با پسوند CSS. ذخیره شود.
محتوای فایل CSS ای که در مثال بالا به آن ارجاع داده شده بود حاوی کدهای زیر است:
"mystyle.css"
background-color: lightblue;
}
h1 {
color: navy;
margin-left: 20px;
}
روش Internal (داخلی)
از روش Internal برای دادن استایلی خاص به یک صفحه مشخص HTML استفاده می شود.
در روش Internal کد های CSS در بخش <head>
از صفحه ی HTML و در داخل عنصر <style>
قرار می گیرند:
مثال
<html>
<head>
<style>
body {
background-color: linen;
}
h1 {
color: maroon;
margin-left: 40px;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
روش Inline (داخلی)
از روش Inline برای دادن استایلی منحصر به فرد به یک عنصر HTML استفاده می شود.
برای استفاده از روش Inline، صفت style را به عنصر مورد نظر اضافه کنید، صفت style می تواند حاوی هر ویژگی CSS ای باشد.
در مثال زیر از این روش برای استایل دهی به دو عنصر p و h1 استفاده شده است:
مثال
<html>
<body>
<h1 style="color:blue;text-align:center;">This is a heading</h1>
<p style="color:red;">This is a paragraph.</p>
</body>
</html>
تکته: روش Inline بسیاری از مزایای دو روش ریگر استفاده از CSS را ندارد و یکی از بهترین مزایای استفاده از زبان CSS که جداسازی محتوای سند HTML و CSS روش است را ندارد. پیشنهاد می شود که از Inline تنها در مواقع ضروری استفاده کنید.
استفاده از چند استایل برای یک عنصر
اگر چند ویژگی CSS برای استایل دهی به یک انتخاب کننده (Selector) در روش های مختلف استفاده از کدهای CSS استفاده شده باشد، مرورگر آخرین استایل تعریف شده برای عنصر بر روی آن اعمال می شود.
فرض کنید که یک فایل External (خارجی) CSS دارای استایل زیر برای عنصر <h1> است:
color: navy;
}
سپس، فرض کنید که استایل تعریف شده برای همان عنصر <h1> در روش Internal حاوی کدهای زیر است:
color: orange;
}
اگر استایل مشخص شده در روش Internal بعد از ارجاعی باشد که به استایل های فایل External داده ایم به ، به دلیل نکته ای که در بالا به آن اشاره کردیماولویت با روش استایل های روش Inline بوده و در نتیجه عنصر h1 به رنگ نارجی (orange) در خواهد آمد:
<link rel="stylesheet" type="text/css" href="mystyle.css">
<style>
h1 {
color: orange;
}
</style>
</head>
اما اگر که ارجاعی به استایل های فایل External بعد از استایل های روش Internal باشد رنگ عنصر h1 به رنگ ناوی (navy) خواهد بود:
<style>
h1 {
color: orange;
}
</style>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
ترتیب اولویت ها در اعمال استایل
وقتی که بیشتر از یک استایل برای یک عنصر HTML تعریف شده باشد، از چه استایلی استفاده می شود؟
اولویت اعمال استایل بر روی یک عنصر HTML به صورت زیر است که در آن شماره یک بیشترین اولویت و شماره 3 کمترین اولویت را دارد:
- استایل تعریف شده در روش Inline دارای بالاترین اولویت برای اعمال روی عنصر است
- استایل در روش های Internal و External (در قسمت head)
- استایل های تعریف شده پیشفرض مرورگر
بنابراین استایل تعریف شده در روش Inline دارای بیشترین اولویت است و در صورت استفاده از این روش برای یک عنصر در یک یا چند ویژگی CSS مانند Color در صورتی که از ویژگی color برای آن عنصر در روش های Internal و External و یا پیشفرض مرورگر استفاده شده باشد همگی نادیده گرفته می شوند و استایل در نظر گرفته شده در روش Inline بر روی عنصر اعمال می شود.