محددات الخاصيات
مُحدِّد الخاصيات (attribute selector) في CSS يُطابِق العناصر إذ وجدت فيها خاصيةٌ ما أو كانت تلك الخاصية تملك قيمةً معيّنةً.
المُحدِّد الآتي يُطابِق جميع عناصر <a> (بغض النظر عن قيمة هذه الخاصية):
a[title] {
color: purple;
}
المُحدِّد الآتي يُطابِق جميع عناصر <a> التي تكون قيمة الخاصية href فيها تساوي https://example.org:
a[href="https://example.org"] {
color: green;
}
المُحدِّد الآتي يُطابِق جميع عناصر <a> التي تحتوي قيمة الخاصية href فيها السلسلة النصية example:
a[href*="example"] {
font-size: 2em;
}
المُحدِّد الآتي يُطابِق جميع عناصر <a> التي تنتهي قيمة الخاصية href فيها بالسلسلة النصية .org:
a[href$=".org"] {
font-style: italic;
}
صيغ المُحدِّدات
[attr]
تحديد العنصر الذي له خاصية باسم attr.
[attr=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها تساوي value.
[attr~=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها قد تحتوي على قائمة مفصولة بفراغات من القيم، وإحدى تلك القيم تساوي value.
[attr|=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها تساوي value أو تبدأ بالقيمة value وتتبعها مباشرةً شرطة -، وتُستخدَم هذه الصيغة غالبًا لمطابقة رموز اللغات الفرعية.
[attr^=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها تبدأ بالسلسلة النصية value.
[attr$=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها تنتهي بالسلسلة النصية value.
[attr*=value]
تحديد العنصر الذي له خاصية باسم attr، التي قيمتها تحتوي على السلسلة النصية value مرة واحدة على الأقل.
[attr operator value i]
إضافة الحرف i (أو I) قبل قوس الإغلاق يؤدي إلى مطابقة القيمة بغض النظر عن حالة الأحرف (case-insensitive).
أمثلة
مثال عن استخدام مُحدِّدات الخاصيات مع العنصر <a> لتحديد الروابط الداخلية (التي تبدأ برمز المربع #)، والروابط التي فيها الكلمة example، والروابط التي فيها الكلمة insensitive بغض النظر عن حالة الأحرف، والروابط التي تنتهي بالسلسلة النصية .org:
a {
color: blue;
}
a[href^="#"] {
background-color: gold;
}
a[href*="example"] {
background-color: silver;
}
a[href*="insensitive" i] {
color: saddlebrown;
}
a[href$=".org"] {
color: red;
}
شيفرة HTML:
<ul>
<li><a href="#internal">Internal link</a></li>
<li><a href="http://example.com">Example link</a></li>
<li><a href="#InSensitive">Insensitive internal link</a></li>
<li><a href="http://example.org">Example org link</a></li>
</ul>
مثال عن تحديد عناصر <div> التي تكون بلغات مختلفة:
div[lang] {
font-weight: bold;
}
/* اللغة الإنكليزية */
div[lang~="en-us"] {
color: blue;
}
/* اللغة البرتغالية */
div[lang="pt"] {
color: green;
}
/* اللغة الصينية، سواءً كانت مبسطة أو تقليدية */
div[lang|="zh"] {
color: red;
}
/* اللغة العربية */
div[lang="ar"] {
color: purple;
}
شيفرة HTML:
<div lang="en-us en-gb en-au en-nz">Hello World!</div>
<div lang="pt">Olá Mundo!</div>
<div lang="zh-CN">世界您好!</div>
<div lang="zh-TW">世界您好!</div>
<div lang="ar">أهلًا بالعالم!</div>
دعم المتصفحات
| الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| الدعم الأساسي | مدعومة | مدعومة | 7.0 | 9 | 3 |
| تجاهل حالة الأحرف | 49.0 | 47.0 | غير مدعومة | 36 | 9 |
مصادر ومواصفات
- مسودة Selectors Level 4.
- مواصفة Selectors Level 3.
- مواصفة CSS Level 2 (Revision 1).