فهرست سرفصل‌های CSS
خانه (Home) CSS مقدمه CSS (Introduction) سینتکس CSS (Syntax) انتخاب گرهای CSS (Selectors) نحوه استفاده از CSS (How To) کامنت ها در CSS (Comments) ارورها در CSS (Errors) رنگ ها در CSS (Colors) رنگ ها - RGB و RGBA رنگ ها - هگز (HEX Colors) رنگ ها - HSL و HSLA پس زمینه (Backgrounds) پس زمینه - تصویر (Backgrounds Image) پس زمینه - تکرار تصویر (Backgrounds Image Repeat) پس زمینه - پیوست (Background Attachment) پس زمینه - کوتاه نویسی (Background Shorthand) کادرها (Borders) کادرها - عرض (Borders Width) کادرها - رنگ (Borders Color) کادرها - کناره ها (Borders Sides) کادرها - کوتاه نویسی (Shorthand Border Property) کادرها - گرد (Rounded Borders) لایه (Padding) ارتفاع، عرض و حداکثر عرض (Height, Width and Max-width) مدل جعبه ای (Box Model) خط پیرامونی (Outline) خط پیرامونی - ضخامت (Outline Width) خط پیرامونی - رنگ (Outline Color) خط پیرامونی - کوتاه نویسی (Outline Shorthand) خط پیرامونی - آفست (Outline Offset) متن - رنگ (Text Color) متن - چینش (Text Alignment) متن - تزئینات (Text Decoration) متن - تبدیل حروف (Text Transformation) متن - فاصله گذاری (Text Spacing) متن - سایه (Text Shadow) فونت ها (Fonts) فونت های وب سیف (Font Web Safe) فونت - جایگزین ها (Font Fallbacks) فونت - سبک (Font Style) فونت - اندازه (Font Size) فونت - گوگل (Font Google) فونت - کوتاه نویسی (Font Shorthand) آیکن ها در CSS (CSS Icons) لینک ها در CSS (CSS Links) فهرست ها در CSS (CSS Lists) جدول - کادرها (Table Borders) جدول - اندازه (Table Size) جدول - تراز (Table Alignment) جدول - استایل دهی (Table Styling) جدول - واکنش گرا (Table Responsive) نمایش/قابلیت دید (Display) حداکثر عرض (Max-width) موقعیت دهی (Position) شاخص Z (Z-index) سرریز (Overflow) شناوری (Float) شناوری - Float (Clear) شناوری - مثال ها (Float Examples) اینلاین-بلاک (Inline-block) تراز کردن (Align) ترکیب گرها (Combinators) کلاس های شبه (Pseudo-classes) عناصر شبه (Pseudo-elements) شفافیت/اپاسیتی (Opacity) نوار ناوبری - مقدمه (Navbar Intro) نوار ناوبری - عمودی (Vertical Navbar) نوار ناوبری - افقی (Horizontal Navbar) منوهای کشویی (Dropdowns) گالری تصاویر (Image Gallery) اسپرایت های تصویر (Image Sprites) انتخاب گرهای ویژگی (Attribute Selectors) فرم ها (Forms) شمارنده ها (Counters) واحدها (Units) اختصاصیت/اهمیت انتخاب گر (Specificity) !important (!important) توابع ریاضی (Math Functions) بهینه سازی/کارایی (Optimization) دسترس پذیری (Accessibility) چیدمان وب سایت (Website Layout) گوشه های گرد (Rounded Corners) تصاویر کادر (Border Images) پس زمینه - چندگانه (Multiple Backgrounds) پس زمینه - اندازه (Background Size) پس زمینه - مبدأ (Background Origin) پس زمینه - کلیپ (Background Clip) رنگ ها - پیشرفته (Colors - Advanced) کلیدواژه های رنگ (Color Keywords) گرادیان خطی (Linear Gradients) گرادیان شعاعی (Radial Gradients) گرادیان مخروطی (Conic Gradients) افکت های سایه (Shadow Effects) سایه جعبه (Box Shadow)
CSS

CSS — انتخاب گرهای ویژگی (Attribute Selectors)

آخرین بروزرسانی: 1404/07/16

انتخاب گرهای ویژگی (Attribute Selectors) در CSS

«انتخاب گر ویژگی (Attribute Selector)» برای انتخاب و استایل دهی المان هایی به کار می رود که دارای یک ویژگی خاص یا مقدار مشخص هستند. بنابراین می توانید بدون افزودن کلاس اضافی، هدف گیری دقیق انجام دهید و کد تمیزتری داشته باشید.

انواع انتخاب گر ویژگی در CSS

در ادامه انواع پرکاربرد را می بینید. هر کدام با نمونه کوتاه توضیح داده شده اند تا سریع تر استفاده کنید.

[attribute] — وجود ویژگی

با این الگو، تمام المان های دارای یک ویژگی خاص انتخاب می شوند. برای نمونه، همه لینک هایی که ویژگی target دارند:

a[target] { background-color: yellow; }

[attribute="value"] — مقدار دقیق

وقتی مقدار دقیق اهمیت دارد، از این الگو استفاده کنید. در مثال زیر تنها لینک هایی با target="_blank" انتخاب می شوند:

a[target="_blank"] { background-color: yellow; }

[attribute~="value"] — شامل واژه مستقل

اگر مقدار ویژگی فهرستی از واژه ها باشد، این الگو واژه مستقل را پیدا می کند. بنابراین «flower» در میان واژه ها هدف قرار می گیرد:

[title~="flower"] { border: 5px solid yellow; }

نکته: «flower» با «my-flower» یا «flowers» مطابقت ندارد؛ زیرا واژه باید مستقل باشد.

[attribute|="value"] — واژه یا پیشوند با خط تیره

این الگو مقدار برابر با واژه یا شروع شونده با آن و یک «-» را می پذیرد. در نتیجه نمونه زیر «top» و «top-text» را می گیرد:

[class|="top"] { background: yellow; }

[attribute^="value"] — شروع با مقدار

زمانی که مقدار ویژگی با رشته ای مشخص آغاز می شود، از این الگو بهره ببرید:

[class^="top"] { background: yellow; }

[attribute$="value"] — پایان با مقدار

برای یافتن مقادیری که با رشته ای مشخص تمام می شوند، این الگو مناسب است:

[class$="test"] { background: yellow; }

[attribute*="value"] — شامل زیررشته

اگر هر کجای مقدار ویژگی زیررشته هدف وجود داشته باشد، این الگو عمل می کند:

[class*="te"] { background: yellow; }

استایل دهی فرم با انتخاب گر ویژگی

با هدف گیری نوع ورودی ها، می توانید بدون کلاس گذاری اضافه، فرم ها را استایل دهید. ابتدا نمونه را ببینید، سپس مقادیر را تنظیم کنید:

input[type="text"] { width: 150px; padding: 6px; margin-bottom: 10px; background-color: pink; }
input[type="button"] { width: 100px; padding: 6px; background-color: lightgreen; }

هشدار: انتخاب گرهای شامل گرا مانند [attr*="x"] ممکن است هزینه محاسباتی بیش تری داشته باشند؛ بنابراین در لیست های بزرگ با احتیاط استفاده کنید.

مرور سریع تمام انتخاب گرهای ویژگی

  • [attribute] – وجود ویژگی
  • [attribute="value"] – مقدار دقیق
  • [attribute~="value"] – واژه مستقل در لیست
  • [attribute|="value"] – واژه یا پیشوند با «-»
  • [attribute^="value"] – شروع با مقدار
  • [attribute$="value"] – پایان با مقدار
  • [attribute*="value"] – شامل زیررشته

ادامه یادگیری با نمونه ها

برای تمرین بیش تر به انتخاب گرهای ویژگی مراجعه کنید. همچنین ساخت گالری را در گالری تصاویر ببینید و درباره بهینه سازی آیکون ها با اسپرایت تصویر بخوانید.

نکته: با ترکیب انتخاب گرها و شبه کلاس ها مانند :hover می توانید رابط های تعاملی بهتری بسازید.

منابع پیشنهادی برای انتخاب گرهای ویژگی

راهنمای MDN: Attribute selectors و بخش انتخاب گرها در W3C Selectors Level 4 را نیز مطالعه کنید.