#18688

سلام عصر بخیر.
ببینید شما وقتی چیزی روی داخل پرانتز میزنید معمولا attribute رو میخواهید فراخونی کنید به مثال زیر دقت کنید.

   <input type="text" id="lname" name="lname">
    

وقتی شما داخل [ ] میزنید میخواهید صفت(attribute) که داخل تگ مورد نظر تعریف شده فرا خونی کنید

   input[type="text"]{
background-color:blue;
}
    

ولی وقتی همچنین کدی میزنید

   input:focus{
background-color:red;
}
    

اینجا چیز به نام صفت(attribute) تعریف نشده چون شما چیزی به نام focus‌تعریف نکردید و یک حالت کلی هست که برای input از پیش تعریف شده و در واقع شما میخواهید اگر این حال کلی روی تگ input اتفاق افتاده بود روش کد css اعمال بشه.

برای a هم به همین صورت هست وقتی تگ a با صفت(attribute) مثل target تعریف بشه میونید با استفاده از [ ] روی اون کد اعمال کنید و عملا چون target یک صفت هست و حالت کلی نیست پس بدون [ ] معنی نداره.

2 کاربر که از نویسنده این موضوع تشکر کرده اند.