سلام خدمت تمام دوستان عزیز
خواستم در این قسمت تفاوت ریز و جزئی بین چند سلکتور معرفی شده در ویدیو توسط استاد را بگم چون گاها باهم دیگه اشتباه گرفته میشن و شاید تفاوت بینشون برای بعضی از دوستان قابل لمس نباشه
[attribute~=value]
این سلکتور فقط المان هایی رو انتخاب میکنه که شامل کلمه مقدار تعریف شده value باشن حالا قبل و بعدش اگر مقادیر دیگه بود مشکلی نیست
<style>
[title~=flower] {
border: 5px solid yellow;
}
style>
<img src="klematis.jpg" title="klematis flower">
<img src="img_flwr.gif" title="flowers">
<img src="landscape.jpg" title="flower-a">
<img src="klematis.jpg" title="flower klematis">
طبق کد بالا فقط تصویر اول و آخر border میگیرد زیرا فقط تصویریک دارای اتربیوت تایتل با مقدار flower هست مابقی کلمات اضافهتری دارند و قابل قبول نیستند.
اول یا آخر بودن کلمه flower تفاوتی ندارد.
[attribute^=value]
این سلکتور فقط المان هایی رو انتخاب میکنه که با مقدار value مورد نظر شروع بشن و بعدش هرچیزی هم باشه مهم نیست.
<style>
div[class^="test"] {
background: #ffff00;
}
style>
<div class="first_test">The first div element.div>
<div class="test abc">The third div element.div>
<div class="test_ex">The fourth div element.div>
از 3 دیو بالا فقط دو دیو آخر بک گراند میگیرند زیرا شروع آنها با کلاس test هست.
[attribute$=value]
این سلکتور فقط المان هایی رو انتخاب میکنه که با مقدار value مورد نظر تمام بشن و قبلش هرچیزی هم باشه مهم نیست.( این سلکتور در واقع مخالف سلکتور قبلی میباشد )
<style>
div[class$="test"] {
background: #ffff00;
}
style>
<div class="singletest">The first div element.div>
<div class="testa">The second div element.div>
<div class="abc test">The third div element.div>
در مثال بالا دیو اول و آخر بک گراند میگیرند زیرا با مقدار test خاتمه یافتند.
[attribute*=value]
این سلکتور المان هایی رو انتخاب میکنه که با شامل value مورد نظرباشن، قبل و بعد هرچیزی بود مهم نیست( این سلکتور در واقع ترکیب دو سلکتور قبلی میباشد )
<style>
div[class$="test"] {
background: #ffff00;
}
style>
<div class="atest">The first div element.div>
<div class="testa">The second div element.div>
<div class="atesta">The third div element.div>
هر 3 دیو بالا مقدار بکگراند را دریافت میکنند.
[attribute|=value]
این سلکتور فقط المان هایی رو انتخاب میکنه که مقدار value آن دقیقا یکی باشد یا اینکه با آن value شروع و بعد از آن با خط - جدا شده باشند. ( مثل سلکتور ^ که شروع باشد با مقدار مربوطه بود و بعدش هرچی میتوانست باشد اما این سلکتور کنترل بیشتری میکند و حتما باید یا عینا با همان مقدار باشد و یا شروع با همان مقدار و با خط - جدا شود)
<style>
[lang|=en] {
background: yellow;
}
style>
<p lang="en">Hello!p>
<p lang="en-us">Hi!p>
<p lang="us-en">Hi!p>
<p lang="enus">Hei!p>
فقط دو دیو اول شامل شرایط توضیح داده شده میباشند و بکگراند میگیرند و دو دیو آخر انتخاب نخواهند شد.