استفاده از سلکتور id یا class در CSS

Ratings
(0)

همان طور که قبلاً گفته شد، ما می توانیم کلاس ها(class) را به هر تعداد از عناصر که بخواهیم اعمال کنیم. مثلاً یک کلاس به نام warning می تواند، به یک عنصر p و یک عنصر span یا دیگر عناصر، اعمال شود. از طرف دیگر، سلکتور id در سند HTML ،تنها یک بار باید مورد استفاده قرار گیرد. بنابراین اگر یک عنصر داشته باشیم که مقدار id آن lead-para باشد، هیچ عنصر دیگری در آن سند نباید یک id با مقدار lead-para داشته باشد.


نکته: مرورگرها در جهان واقعی، همواره به بررسی یکتا بودن ID ها در HTML نمی پردازند. این یعنی اینکه اگر ما در سند HTML تعداد زیادی عنصر داشته باشیم، و برای هر یک از آنها یک خصوصیت id یکسان تعریف کنیم، احتمالاً استایل های یکسانی برای هریک از آنها اعمال خواهد شد. این رفتار صحیح نیست اما به هر حال اتفاق می افتد.

اگر در سند HTML بیش از یک ID یکسان داشته باشیم، باعث می شود برنامه نویسی DOM مشکل تر شود. بنابراین تابع هایی مانند getElementById() به این وابسته هستند که یک ID تنها و تنها برای یک عنصر در سند، مشخص شده باشد. 


بر خلاف سلکتورهای class، سلکتورهای ID نمی توانند با دیگر IDها ترکیب شوند؛ زیرا خصوصیت های ID اجازه نمی دهند که در آنها یک لیست از کلمات جدا شده با فاصله ی سفید، قرار گیرند. یک تفاوت دیگر بین مقادیر class و id این است که idها وقتی که می خواهیم مشخص کنیم که کدام استایل ها باید به یک عنصر اعمال شوند، از وزن بیشتری برخوردار هستند. در فصل بعدی، در این مورد بیشتر صحبت خواهیم نمود.

همچنین توجه کنید که سلکتورهای class و ID بر اساس زبان سند(document language) ممکن است به حروف بزرگ کوچک حساس باشند. در HTML تعریف شده است که مقادیر class و ID به حروف بزرگ و کوچک حساس هستند؛ بنابراین اگر از حروف بزرگ برای نام یک class یا id استفده کنیم،  باید با آنچه در سند قرار دارد مطابقت داشته باشد. بنابراین در کدهای CSS و HTML زیر متن عنصر p به صورت برجسته(bold) نشان داده نمی شود، زیرا نام کلاس ها یکسان نیستند:

p.criticalInfo {font-weight: bold;}
<p class="criticalinfo">Don't look down.</p>

 در کد بالا، حرف i در نام کلاس ها با یکدیگر تطابق ندارند. از نظر نحوی، استفاده از روش علامت گذاری یک کلاس با یک نقطه(مثل warning. ) در سندهای XML تضمین شده نیست.

در زمان نوشتن این کتاب، علامت گذاری نام کلاس با یک نقطه، در زبان های زیر کار می کند:

  1. HTML
  2. SVG
  3. MathML

و ممکن است در زبان های برنامه نویسی که در آینده ایجاد می شوند، مجاز باشد؛ اما این به مشخصات هر زبان بستگی دارد.


علامت هشتگ(مثل lead#) در سند هر زبانی که یک خصوصیت(attribute) دارد که باید منحصر به فرد باشد، کار می کند. منحصربه‌فرد بودن را می‌توان با خصوصیتی به نام id یا هر چیز دیگری اعمال کرد، تا زمانی که محتوای خصوصیت مورد نظر، در سند  به صورت منحصر به فرد تعریف شده باشد.

 

  • بازدید: 396

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال