برای استایل دهی و سفارشی سازی تگ های HTML چه کار هایی باید انجام دهیم؟ آیا میتوانیم تگ های HTML را سفارشی سازی کنیم؟ کلاس ها یا Class ها در HTML به چه چیز هایی میگوییم؟ مثلا قصد دارید یک بک گراند را بنفش کنید، چطور میتوانیم از کلاس ها جهت رنگ دهی و استایل دهی استفاده کنیم؟
سرفصلهای پست
کلاس ها در زبان نمادگذاری HTML
از خاصیت کلاس معمولا برای تعریف استایل بر روی تگ ها استفاده میشود. از این رو تگ هایی که از کلاس (ها) یکسان استفاده میکنند از یک استایل مشخص پیروی خواهند کرد.
امکان استفاده از کلاس در تگ های برخط (inline) نیز وجود دارد.
برای نمونه در مثال زیر ۳ تگ div داریم که با یک کلاس یکسان تعریف شدهاند.
<!DOCTYPE html> <html> <head> <style> .cities { background-color: black; color: white; margin: 20px; padding: 20px; } </style> </head> <body> <div class="cities"> <h2>Karaj</h2> <p>Karaj is a city in Iran.</p> </div> <div class="cities"> <h2>Tehran</h2> <p>Tehran is a city in Iran.</p> </div> <div class="cities"> <h2>Ardabil</h2> <p>Ardabil is a city in Iran.</p> </div> </body> </html>
برای معرفی کلاسها در آموزش css بیشتر میخوانید، با اینحال بهتر است بدانید که برای معرفی کلاسها در css بایستی در ابتدای نام آنها یک نقطه بگذارید. مانند : cities.
انتخاب یک تگ خاص توسط نام class در CSS
<style> .city { background-color: tomato; color: white; padding: 10px; } </style> <h2 class="city">Karaj</h2> <p>Karaj is a city in Iran.</p> <h2 class="city">Tehran</h2> <p>Tehran is a city in Iran.</p> <h2 class="city">Ardabil</h2> <p>Ardabil is a city in Iran.</p>
استفاده از چند کلاس به صورت همزمان
تگ های HTML می توانند همزمان چند کلاس داشته باشند. برای جداسازی نام کلاس ها باید از فاصله استفاده کنید.
<h2 class="city main">Tehran</h2> <h2 class="city">Ahvaz</h2> <h2 class="city">Qom</h2>
استفاده برای چندین تگ
می توان برای چند تگ متفاوت، کلاس با نام یکسان تعریف کرد و با معرفی تگ در ابتدای نام مانند h2.city برای هر کلاس یک استایل جداگانه تعریف کرد.
<style> h2.city { background-color: tomato; color: white; padding: 10px; } p.city { background-color: blue; color: white; padding: 10px; } </style> <h2 class="city">Qom</h2> <p class="city">Qom is a city in Iran.</p>
استفاده از خاصیت class در جاوا اسکریپت
نام کلاس های استفاده شده در تگ ها می توانند در جاوا اسکریپت برای به انجام رساندن وظیفه ای مورد استفاده قرار گیرند.
برای دسترسی به تگ های خاص توسط نام کلاس در جاوا اسکریپت باید از تابع getElementsByClassName()
استفاده کنید.
<script> function myFunction() { var x = document.getElementsByClassName("city"); for (var i = 0; i < x.length; i++) { x[i].style.display = "none"; } } </script>
پایانترم
[box type=”info” class=”question-from-users” width=””]سوال:
چگونه از یک کلاس در چند تگ استفاده کنیم؟
به ایمیل کسانی که پاسخ درست و کامل رو در نظرات بگن ۱۰ هزارتومان در پنل کاربری آکادمی میزفا حسابشون شارژ میشه. (البته باید در آکادمی میزفا ثبتنام کنید تا بتونید از این امتیاز استفاده کنید.)
[/box]نتیجه گیری
در این مقاله با انواع کلاس ها آشنا شدیم :
- استفاده از یک کلاس برای یک تگ
- استفاده از یک کلاس برای چند تگ با امکان شخصی سازی بر اساس تگ
- استفاده از چند کلاس هم زمان
- استفاده از کلاس در جاوا اسکریپت
خب این مقاله هم از سری مقاله های آموزش HTML به پایان رسید. در جلسه بعدی در رابطه با آی دی ها صحبت خواهیم کرد. اگر سوال یا پیشنهادی داشتین حتما با ما از هر طریقی میتونید به اشتراک بزارید :))). تا جلسه بعد …
21 پاسخ
پاسخ سوال:
میتونیم از نام یکسان کلاس برای چند تگ متفاوت استفاده کنیم. همچنین می تونیم با معرفی تگ در ابتدای نام کلاس و قبل از نقطه ، برای هر کلاس استایل جداگانه هم تعریف کنیم
و یه نقطه ، تو نامگذاری کلاس ها نمیشه از فاصله استفاده کرد، تو قسمت مثال و نمونه کد برای بخش “استفاده از چند کلاس به صورت همزمان” شما بین city و main از فاصله استفاده کردین که درست نیست(Tehran)، حداقل تو ادیتور من که جواب نمیده – اگر توضیح و کد شما اشتباه هست که لطفا اصلاح کنین اما اگر من اشتباه می کنم بگین مشکلم از کجاست که با زدن اسپیس تو نامگذاری کلاس ، کلاس من غیر فعال میشه!
برای اینکه از یک کلاس در چند تگ استفاده کنیم کافی است با معرفی تگ در ابتدای نام برای هر کلاس یک استایل جداگانه تعریف کرد
سلام, من به یه عکس خاصیت onclick دادم و تو جاوا اسکریپت اومدم با استفاده از document.getElementById همون عکس رو انتخاب کردم که وقتی کلیک شد سایزش تغییر پیدا کنه, و کار هم کرد اما وقتی به جای ایدی از کلاس استفاده کردم کار نکرد همین کد document.getElementByClassName بنظرتون مشکل چی میتونه باشه؟
سلام علیرضا، به جای از Queryselector استفاده کن :
document.querySelector(“.class”)
احتمالا مشکلت حل میشه.
سلام برای ایجاد سرصفحه عکس طراحی شده جایگزین کرد در html باید از چه کدی استفاده شود؟ راهنمایی کنید
سلام
سوال خیلی گنگ هست
کافیه فقط صفت عمومی کلاس رو برای هر چند تا تگی که میخوایم کلاساشون یکی باشه به کار ببریم و مقدارشون رو یکسان قرار بدیم برای مثال :
ببخشید دیگه یکم سخت میشه تگ هارو تو نظرا بست این جواب سواله پایان ترم هستش ممنون بابت این درس!
سلام فرهان، چیزی برامون نیومده متاسفانه.
اگر میشه از پاسخت عکس بگیر و بفرست.
با معرفی تگ در ابتدای نام مانندcity.h1 برای هر کلاس یک استایل جداگانه تعریف کرد
سلام علی اکبر، درست گفتی جایزهات را به زودی برات شارژ میکنیم.
پاسخ سوال :
کافیه از یک کلاس برای تگ ها استفاده کنیم
سلام محمد عزیز، درست نوشتی، هدیهات را در میزفا آکادمی دریافت میکنی.
پاسخ سوال :
در ابتدای تگ ها عنوان یا متن از “”=class استفاده میکنیم.
سلام محمد، بله برای استفاده از کلاس ها از این خاصیت استفاده میکنیم ولی برای اینکه یک کلاس رو برای چند تا تگ مختلف یا چند تا جای مختلف استفاده کنیم، فقط کافیه چیکار کنیم؟ خیلی راحته، یه بار دیگه مقاله رو نگاه بنداز.
سلام. من جزوه ناقصی داشتم و واقعا توی درک و فهم معنای class مشکل داشتم و سایت های زیادی رو چک کردم اما جوابم رو نگرفتم و سوالات ذهنم باقی مونده بودن و الان با خوندن این مطلب برای اولین بار بود که به خوبی معنی class رو درک کردم. از آموزش بی نظیرتون سپاسگزارم.
سلام. خوشحالیم از بازخوردت. میتونی اموزش های html و css در میزفا به صورت رایگان ادامه بدی.
موفق باشی.
padding معنای مساحت رو در اینجا میده؟
سلام حمید رضا ، معنی مساحت رو که نه نمیده ، فضای درونی برای هر تگ ایجاد میکنه.
پیشنهاد من اینه مقاله آشنایی با Padding در CSS یک نگاه بندازی ، البته که فقط یک نگاه کوچیک تا متوجه منظور بشی.
ممنون از مطالب خوبتون عالی بود
سلام مرسی از آموزش خوبی که گذاشتین
یه سوالی داشتم ، چرا وقتی از کد ها که نوشتم ، ران میگیرم صفحه وب من اصلا رنگی نداره و فونت نوشته هام مشکیه در حالی که تو قسمت استایل هم برای بک گراند و هم برای فونت رنگ انتخاب میکنم ولی هیچ اتفاقی نمیوفته. حتی کد های این قسمت از آموزش هم کپی پیس کردم باز اتفاقی نمیوفته . ممنون میشم راهنمایی کنید
سلام نرجس.
از
!important
استفاده کن و ببین درست میشه یا نه.