انتخابگرها و عناصر خاص CSS از مهمترین ابزارهای CSS هستند که به طراحان وب امکان میدهند بهطور دقیقتر به عناصر دسترسی داشته باشند و استایلهای پیچیدهتر ایجاد کنند. اگر به دنبال آموزش CSS هستید، با کمک انتخابگرها میتوانید یک یا چند عنصر خاص را به روشهای مختلف انتخاب کرده و به آنها استایلهای دلخواه اعمال کنید. در این مقاله، به بررسی برخی از انتخابگرهای خاص مانند ترکیبکنندهها، شبهکلاسها، شبهعناصر، و انتخابگرهای ویژگی میپردازیم.
ترکیبکنندهها در CSS (CSS Combinators)
ترکیبکنندهها یا Combinators به شما امکان میدهند روابط خاص بین عناصر مختلف در HTML را شناسایی کنید و استایلهای مشخصی را برای آنها اعمال کنید. ترکیبکنندهها به شما این توانایی را میدهند که بهجای انتخاب تمام عناصری از یک نوع، فقط آنهایی را هدف قرار دهید که در رابطه خاصی با عنصر والد یا خواهر و برادر خود هستند. به طور کلی، چهار نوع ترکیبکننده اصلی در CSS وجود دارد:
ترکیبکننده فرزند (>)
ترکیبکننده برادر مجاور (+)
ترکیبکننده برادر عمومی (~)
ترکیبکننده فاصله ( )
در ادامه، هر یک از این ترکیبکنندهها را بهصورت جداگانه و دقیق بررسی میکنیم.
ترکیبکننده فرزند (>)
ترکیبکننده فرزند به شما امکان میدهد تنها فرزندهای مستقیم یک عنصر خاص را هدف قرار دهید. به عبارت دیگر، اگر عنصری مستقیماً داخل یک عنصر والد دیگر قرار داشته باشد (بدون هیچ عنصر واسطه)، آن عنصر فرزند مستقیم محسوب میشود و میتوان با این ترکیبکننده آن را انتخاب کرد.
این ترکیبکننده زمانی مفید است که بخواهید عناصر خاصی که مستقیماً درون عنصر دیگر قرار دارند، تغییر دهید و اطمینان حاصل کنید که فقط فرزندان مستقیم انتخاب میشوند، نه عناصری که ممکن است چند سطح پایینتر باشند.
مثال:
فرض کنید کدی مانند زیر داریم:
<div class="container">
<p>این پاراگراف فرزند مستقیم div است.</p>
<div>
<p>این پاراگراف درون یک div دیگر قرار دارد و فرزند مستقیم نیست.</p>
</div>
</div>
اگر بخواهیم فقط پاراگرافی را که مستقیماً فرزند .container است انتخاب کنیم، میتوانیم از ترکیبکننده فرزند استفاده کنیم:
.container > p {
color: red;
}
توضیح:
در این مثال، تنها اولین پاراگراف که مستقیماً درون .container قرار دارد به رنگ قرمز تغییر میکند. پاراگرافی که درون div داخلی دیگری قرار دارد، تحت تأثیر این استایل قرار نمیگیرد. این ویژگی باعث میشود که کنترل بیشتری روی استایلدهی به عناصر فرزند داشته باشیم و از تأثیر استایل بر روی عناصر داخلیتر جلوگیری کنیم.
کاربرد:
ترکیبکننده فرزند برای مواقعی استفاده میشود که بخواهید به یک سطح خاص از عناصر در درخت DOM دسترسی داشته باشید، بدون اینکه به سایر عناصر در سطحهای پایینتر دسترسی پیدا کنید.
ترکیبکننده برادر مجاور (+)
ترکیبکننده برادر مجاور به شما اجازه میدهد عنصری را انتخاب کنید که بلافاصله بعد از یک عنصر خاص و در همان سطح از درخت DOM قرار دارد. این ترکیبکننده تنها به عنصر بلافاصله بعد از عنصر اصلی اعمال میشود.
مثال:
در کد زیر:
<h2>عنوان</h2> <p>این پاراگراف بلافاصله پس از h2 قرار دارد و به عنوان برادر مجاور انتخاب میشود.</p> <p>این یک پاراگراف دیگر است که در همان سطح قرار دارد اما برادر مجاور نیست.</p>
با استفاده از ترکیبکننده برادر مجاور، میتوانیم تنها اولین پاراگراف بعد از <h2> را استایلدهی کنیم:
h2 + p {
font-weight: bold;
}
توضیح:
در اینجا، تنها پاراگراف اول پس از <h2> به حالت بولد درخواهد آمد. پاراگراف دوم که در همان سطح قرار دارد اما بلافاصله بعد از <h2> نیست، تحت تأثیر قرار نمیگیرد.
کاربرد:
ترکیبکننده برادر مجاور برای مواقعی مناسب است که نیاز دارید استایلی خاص فقط به اولین عنصر بعد از یک عنصر مشخص اعمال شود. این روش برای موقعیتهایی مانند استایلدهی به عناصر مجاور در منوها یا لیستهای مرتبط کاربردی است.
ترکیبکننده برادر عمومی (~)
ترکیبکننده برادر عمومی شبیه به ترکیبکننده برادر مجاور است، با این تفاوت که همه عناصر همسطح بعدی را هدف قرار میدهد، نه فقط اولین آنها را. این ترکیبکننده به شما اجازه میدهد تمام عناصری که بعد از عنصر خاصی قرار گرفتهاند را استایلدهی کنید.
مثال:
کد زیر را در نظر بگیرید:
<h2>عنوان</h2> <p>این اولین پاراگراف است که بعد از h2 قرار گرفته است.</p> <p>این دومین پاراگراف است که بعد از h2 قرار دارد.</p> <p>این سومین پاراگراف است که بعد از h2 قرار دارد.</p>
اگر بخواهیم همه پاراگرافهای بعد از <h2> را انتخاب کنیم، میتوانیم از ترکیبکننده برادر عمومی استفاده کنیم:
h2 ~ p {
color: blue;
}
توضیح:
در اینجا، هر سه پاراگرافی که بعد از <h2> قرار دارند به رنگ آبی نمایش داده خواهند شد. برخلاف ترکیبکننده برادر مجاور (+)، که فقط اولین عنصر بعد از <h2> را هدف قرار میداد، این ترکیبکننده همه عناصر در همان سطح را انتخاب میکند.
کاربرد:
ترکیبکننده برادر عمومی زمانی مفید است که بخواهید همه عناصر در همان سطح و بعد از یک عنصر خاص را استایلدهی کنید. این ویژگی برای بخشهایی مانند نمایش تغییر استایل در تمام عناصر مشابه که بعد از عنصر خاصی قرار دارند، بهکار میرود.
ترکیبکننده فاصله ( )
ترکیبکننده فاصله، که به آن ترکیبکننده عمومی یا نوه نیز میگویند، به شما امکان میدهد تمامی عناصر داخل یک عنصر خاص را بدون توجه به سطح آنها در درخت DOM انتخاب کنید. این ترکیبکننده یکی از پرکاربردترین ترکیبکنندهها در CSS است و برای انتخاب عناصری که در سطحهای مختلف داخل یک عنصر قرار دارند، استفاده میشود.
مثال:
در کد زیر:
<div class="container">
<p>این پاراگراف داخل div سطح اول است.</p>
<div>
<p>این پاراگراف در سطح دوم داخل div است.</p>
</div>
</div>
با استفاده از ترکیبکننده فاصله میتوانیم هر دو پاراگراف داخل .container را انتخاب کنیم، صرف نظر از اینکه در کدام سطح قرار دارند:
.container p {
color: green;
}
توضیح:
در این مثال، هر دو پاراگراف درون .container به رنگ سبز درمیآیند، بدون توجه به اینکه در کدام سطح از .container قرار دارند. این روش به ما امکان میدهد که تمامی عناصر با نوع خاصی را که درون یک عنصر مشخص قرار دارند، هدف قرار دهیم.
کاربرد:
ترکیبکننده فاصله برای مواقعی مفید است که میخواهید به تمامی عناصر از نوع خاصی درون یک عنصر خاص دسترسی پیدا کنید، صرف نظر از اینکه در کدام سطح از درخت DOM قرار گرفتهاند. این ترکیبکننده معمولاً در استایلدهی به ساختارهای پیچیدهتر صفحه و برای استایلدهی گسترده به کار میرود.
نکات مهم در استفاده از ترکیبکنندهها
کاهش حجم کد: استفاده از ترکیبکنندهها میتواند تعداد کدهای CSS را کاهش داده و به نوشتن کدی بهینهتر کمک کند.
کاهش نیاز به کلاسها و شناسهها: با ترکیبکنندهها میتوانید بدون نیاز به اضافه کردن کلاسها یا شناسهها به عناصر خاص دسترسی پیدا کنید.
استفاده هوشمندانه برای خوانایی بیشتر: استفاده هوشمندانه از ترکیبکنندهها میتواند کد CSS را خواناتر و ساختار آن را واضحتر کند.
سازگاری مرورگرها: ترکیبکنندهها در بیشتر مرورگرهای مدرن بهخوبی پشتیبانی میشوند، اما برای پروژههای خاص بهتر است سازگاری مرورگرها را بررسی کنید.
با یادگیری و استفاده صحیح از ترکیبکنندهها، میتوانید به استایلدهی دقیقتری دست یابید و کدهای CSS خواناتر و منظمتری داشته باشید. این ترکیبکنندهها به شما امکان میدهند روابط پیچیده بین عناصر HTML را تعریف کرده و استایلهای سفارشیتری برای طراحی صفحات وب خود ایجاد کنید.
شبهکلاسها درCSS
شبهکلاسها در CSS به شما امکان میدهند عناصری را انتخاب کنید که در حالت یا وضعیت خاصی قرار دارند، بدون اینکه نیاز به افزودن کلاس یا شناسه خاصی به کد HTML داشته باشید. این ویژگیها در بسیاری از موارد، بهویژه در استایلدهی تعاملات کاربر با عناصر وب، کاربرد دارند. در اینجا، چند شبهکلاس پرکاربرد را با توضیحات و مثالهای کامل بررسی میکنیم.
شبهکلاس :hover
hover: یکی از پرکاربردترین شبهکلاسهاست که به شما اجازه میدهد استایل یک عنصر را در زمانی که کاربر موس خود را روی آن قرار میدهد، تغییر دهید. این شبهکلاس در طراحی منوها، دکمهها، لینکها و هر عنصر دیگری که نیاز به تغییر ظاهر هنگام هاور شدن دارد، بسیار مفید است.
مثال:
در این مثال، رنگ لینک هنگام هاور شدن (وقتی کاربر موس خود را روی لینک قرار میدهد) تغییر میکند.
<a href="#">این یک لینک است</a>
a:hover {
color: orange;
text-decoration: underline;
}
توضیح:
در این مثال، وقتی کاربر موس خود را روی لینک قرار میدهد، رنگ لینک به نارنجی تغییر کرده و زیر آن خط قرار میگیرد. این روش باعث میشود کاربران هنگام مرور سایت متوجه شوند که روی چه چیزی قرار دارند و تجربه کاربری بهتری داشته باشند.
شبهکلاس :nth-child(n)
nth-child(n): به شما امکان میدهد تا فرزند nام یک عنصر والد را انتخاب کنید. مقدار n میتواند عددی خاص، یک عبارت (مانند even یا odd)، یا حتی یک فرمول ریاضی باشد تا عناصر مشخصی در ترتیب انتخاب شوند.
مثال:
فرض کنید لیستی از آیتمها دارید و میخواهید هر آیتم دوم را با یک استایل خاص نمایش دهید.
<ul>
<li>آیتم اول</li>
<li>آیتم دوم</li>
<li>آیتم سوم</li>
<li>آیتم چهارم</li>
</ul>
li:nth-child(2) {
font-weight: bold;
color: blue;
}
توضیح:
در این مثال، فقط آیتم دوم به رنگ آبی و با فونت ضخیم نمایش داده میشود. همچنین میتوانید از مقادیر odd (برای انتخاب تمام آیتمهای فرد) یا even (برای انتخاب تمام آیتمهای زوج) استفاده کنید.
کاربردهای پیشرفته:
با فرمولهای ریاضی مانند 2n+1 میتوانید هر عنصر فرد، یا با 3n هر عنصر سوم را انتخاب کنید. این روش به شما اجازه میدهد که استایلهای پیچیدهای بر اساس موقعیت عنصر در میان عناصر همنوع اعمال کنید.
شبهکلاس :first-child
first-child: برای انتخاب اولین فرزند یک عنصر والد بهکار میرود. این شبهکلاس در مواردی کاربرد دارد که بخواهید استایلی خاص به اولین عنصر درون یک والد اعمال کنید.
مثال:
فرض کنید چندین پاراگراف دارید و میخواهید تنها اولین پاراگراف بدون فاصله بالا (margin-top) نمایش داده شود.
<div>
<p>این اولین پاراگراف است و بدون فاصله بالا است.</p>
<p>این پاراگراف بعدی است.</p>
</div>
p:first-child {
margin-top: 0;
}
توضیح:
در این مثال، تنها اولین پاراگراف بدون فاصله بالا نمایش داده میشود. سایر پاراگرافها تحت تأثیر این استایل قرار نمیگیرند. این روش در مواردی که قصد دارید ظاهر اولین عنصر خاصی درون یک مجموعه را متفاوت کنید، مفید است.
شبهکلاس :last-child
last-child: مشابه شبهکلاس first-child است، اما به شما اجازه میدهد آخرین فرزند یک عنصر را انتخاب کنید. این شبهکلاس برای مواقعی مفید است که بخواهید استایلی خاص فقط به آخرین عنصر از مجموعه اعمال شود.
مثال:
در این مثال، آخرین پاراگراف درون یک div با اندازه فونت بزرگتر نمایش داده میشود.
<div>
<p>این اولین پاراگراف است و بدون فاصله بالا است.</p>
<p>این پاراگراف بعدی است.</p>
</div>
p:first-child {
margin-top: 0;
}
توضیح:
فقط آخرین پاراگراف اندازه فونت بزرگتری خواهد داشت. این نوع شبهکلاس بهویژه برای مواردی که قصد دارید آخرین آیتم درون یک فهرست، پاراگراف یا عنصر دیگر را استایل دهید، بسیار مفید است.
شبهکلاس :focus
focus: در فرمها و ورودیهای کاربر بسیار کاربردی است. این شبهکلاس وقتی فعال میشود که یک عنصر به حالت انتخاب کاربر درآید، مثلاً زمانی که کاربر در یک فیلد متنی کلیک کرده و آن را فعال کرده است.
مثال:
در این مثال، رنگ پسزمینه فیلد متنی زمانی که کاربر روی آن کلیک میکند (در حالت focus قرار دارد) تغییر میکند.
<div>
<p>این یک پاراگراف است.</p>
<p>این آخرین پاراگراف است و فونت بزرگتری دارد.</p>
</div>
p:last-child {
font-size: 20px;
}
توضیح:
در اینجا، زمانی که کاربر روی فیلد متنی کلیک میکند و آن را فعال میکند، رنگ پسزمینه به آبی کمرنگ تغییر میکند و یک حاشیه آبی تیره اضافه میشود. این تغییر ظاهر کمک میکند کاربر متوجه شود که کدام فیلد در حال حاضر فعال است.
سایر شبهکلاسهای مفید در CSS
علاوه بر شبهکلاسهای بالا، چند شبهکلاس دیگر نیز وجود دارند که بهطور خاص برای موقعیتها و حالتهای مختلف طراحی شدهاند:
:active: این شبهکلاس زمانی فعال میشود که کاربر در حال کلیک کردن روی یک عنصر است، مثلاً یک لینک یا دکمه.
a:active {
color: red;
}
:checked: برای انتخاب چکباکسها یا رادیوباکسهایی که انتخاب شدهاند.
input[type="checkbox"]:checked {
background-color: green;
}
:disabled: برای انتخاب عناصر غیرفعال مانند دکمهها و فیلدهای فرم.
input:disabled {
background-color: grey;
color: white;
}
:valid و :invalid: برای انتخاب فیلدهای فرم که دارای مقادیر معتبر یا نامعتبر هستند.
input:valid {
border-color: green;
}
input:invalid {
border-color: red;
}
شبهکلاسها در CSS ابزارهای قدرتمندی هستند که به طراحان اجازه میدهند استایلدهی داینامیک و تعاملی ایجاد کنند. با استفاده از شبهکلاسها میتوان بدون افزودن کد HTML اضافی، استایلهای خاصی را در زمانهای مختلف به عناصر اعمال کرد. این ویژگیها بهویژه در رابطهای کاربری که نیاز به واکنش سریع به تعاملات کاربر دارند، بسیار مفید هستند.
شبهعناصر در CSS
شبهعناصر در CSS به شما این امکان را میدهند که به بخشهای خاصی از محتوای یک عنصر HTML دسترسی داشته باشید و بدون نیاز به تغییر ساختار HTML، استایلدهیهای پیچیدهتری ایجاد کنید. این شبهعناصر بهویژه در زمانی که میخواهید بخشی از متن یا ساختار یک عنصر را تغییر دهید، کاربرد دارند. در اینجا به بررسی چند شبهعنصر پرکاربرد در CSS میپردازیم.
شبهعنصر ::before
شبهعنصر ::before به شما این امکان را میدهد که محتوایی را قبل از محتوای اصلی یک عنصر اضافه کنید. این محتوای اضافهشده تنها از طریق CSS قابل تنظیم است و نیازی به افزودن HTML اضافی ندارد. این شبهعنصر بهویژه برای افزودن نمادها، توضیحات یا تزئینات قبل از محتوای یک عنصر مفید است.
مثال:
فرض کنید میخواهید کلمه «Note:» را قبل از محتوای پاراگرافها اضافه کنید تا به کاربر بگویید که این بخش مهم است.
<p>این یک پاراگراف توضیحی است.</p>
p::after {
content: " *";
color: red;
}
توضیح:
در اینجا، کلمه «Note:» قبل از محتوای پاراگراف نمایش داده میشود و استایل متفاوتی دارد (رنگ نارنجی و ضخیم). بدون نیاز به تغییر HTML، این محتوای اضافه شده به خواننده تأکید بیشتری راجع به اهمیت متن ارائه میدهد.
کاربرد:
اضافه کردن نمادها و نشانها: افزودن محتوای تزیینی یا نمادهای خاص.
تأکید بر بخشهای مهم: برای نمایش متن یا علامتهایی که توجه کاربر را جلب کنند.
شبهعنصر ::after
شبهعنصر ::after به شما اجازه میدهد محتوایی را بعد از محتوای اصلی یک عنصر اضافه کنید. این ویژگی میتواند برای افزودن نمادها، توضیحات پایانی یا حتی افکتهای بصری بعد از متن یا عناصر استفاده شود.
مثال:
فرض کنید میخواهید یک علامت ستاره (*) بعد از محتوای هر پاراگراف اضافه کنید تا نشاندهنده تکمیل متن باشد.
<p>این یک پاراگراف است که محتوای زیادی دارد و در چندین خط نمایش داده میشود. اولین خط با بقیه خطوط متفاوت است.</p>
p::first-line {
color: blue;
font-size: 18px;
font-weight: bold;
}
توضیح:
در اینجا، علامت * قرمز رنگ بعد از محتوای پاراگراف اضافه میشود. این روش میتواند برای نشان دادن مواردی مانند اهمیت، یا نمایش وضعیت (مثلاً تکمیل بودن متن) مفید باشد.
کاربرد:
اضافه کردن نمادهای تکمیلی: مانند علامتهای تأکیدی، نمادهای پایان متن.
افکتهای تزئینی: استفاده برای ایجاد تغییرات بصری بدون نیاز به HTML اضافی.
شبهعنصر ::first-line
شبهعنصر ::first-line به شما اجازه میدهد که استایل خاصی را فقط برای اولین خط محتوای یک عنصر اعمال کنید. این ویژگی بهویژه در مقالات و متنهای طولانی کاربرد دارد که میخواهید اولین خط آن با استایل متمایزی نمایش داده شود.
مثال:
در این مثال، رنگ و اندازه فونت اولین خط یک پاراگراف را تغییر میدهیم.
<p>این یک پاراگراف توضیحی است که اولین حرف آن استایل خاصی دارد.</p>
p::first-letter {
font-size: 24px;
color: green;
font-weight: bold;
}
توضیح:
تنها اولین خط از پاراگراف به رنگ آبی و با فونت بزرگتر و ضخیم نمایش داده میشود. این تکنیک به ویژه برای جلب توجه خواننده به اولین خط متن کاربرد دارد.
محدودیتها:
با ::first-line نمیتوانید از همه استایلها استفاده کنید. تنها استایلهای خاصی مانند color، font، background-color، و text-decoration در این شبهعنصر کار میکنند.
کاربرد:
برجسته کردن اولین خط متن: برای جلب توجه خواننده.
ایجاد تفاوت بصری: مثلاً برای پاراگرافهایی که حاوی متن توضیحی مهم هستند.
شبهعنصر ::first-letter
شبهعنصر ::first-letter به شما اجازه میدهد که استایلدهی ویژهای را تنها به اولین حرف از محتوای یک عنصر اعمال کنید. این تکنیک در طراحی مقالات، بخشهای آغازین و استایلدهی به متون تأکیدی بسیار مفید است.
مثال:
در این مثال، اولین حرف از یک پاراگراف را بهصورت برجسته و با رنگی متفاوت نمایش میدهیم.
<p>این یک پاراگراف توضیحی است که اولین حرف آن استایل خاصی دارد.</p>
p::first-letter {
font-size: 24px;
color: green;
font-weight: bold;
}
توضیح:
فقط اولین حرف از پاراگراف به رنگ سبز و با اندازه فونت بزرگتر و ضخیم نمایش داده میشود. این روش بهویژه برای طراحیهای مجلات و مقالات استفاده میشود تا جذابیت بیشتری به متن بخشیده شود.
محدودیتها:
با ::first-letter نیز نمیتوانید از همه استایلها استفاده کنید و معمولاً استایلهایی مانند color، font-size، font-weight، و float پشتیبانی میشوند.
کاربرد:
ایجاد استایلهای مجلاتی: برای شروع متن به صورت برجسته و خاص.
جلب توجه به ابتدای متن: برای متون شروعکننده در مقالات و وبسایتهای محتوایی.
نکات و محدودیتهای کلی در استفاده از شبهعناصر
نیاز به content: برای شبهعناصر ::before و ::after، تعریف ویژگی content الزامی است، حتی اگر بخواهید محتوای خالی (“”) اضافه کنید.
محدودیت در برخی استایلها: در شبهعناصر ::first-line و ::first-letter، تنها برخی از استایلها پشتیبانی میشوند و نمیتوان از همه ویژگیهای CSS استفاده کرد.
استفاده هوشمندانه: شبهعناصر به شما این امکان را میدهند که بدون اضافه کردن HTML، محتوای بصری جذابی ایجاد کنید؛ اما باید به گونهای استفاده شوند که خوانایی متن تحت تأثیر قرار نگیرد.
شبهعناصر در CSS ابزارهای بسیار مفیدی هستند که به طراحان اجازه میدهند استایلدهی پیشرفته و جزئیات بیشتری را به عناصر وب اضافه کنند بدون اینکه نیاز به تغییر HTML داشته باشند. استفاده هوشمندانه از این ویژگیها میتواند طراحی شما را حرفهایتر و جذابتر کند و تجربه کاربری بهتری برای بازدیدکنندگان فراهم کند.
انتخابگرهای ویژگی درCSS
انتخابگرهای ویژگی در CSS ابزارهایی قدرتمند هستند که به شما امکان میدهند عناصری را انتخاب کنید که دارای ویژگیها یا مقادیر خاصی باشند. این انتخابگرها میتوانند بر اساس وجود یک ویژگی، شروع یا پایان مقدار ویژگی، یا حتی وجود زیرمجموعهای از مقدار ویژگیها عناصر را انتخاب کنند. در زیر به بررسی انواع انتخابگرهای ویژگی با توضیحات و مثالهای دقیق میپردازیم.
انتخابگر [attribute]
انتخابگر [attribute] تمامی عناصری که دارای یک ویژگی مشخص هستند را انتخاب میکند، بدون توجه به مقدار آن ویژگی. این نوع انتخابگر برای انتخاب عناصری که ویژگیهای خاصی مانند type، src، href و غیره دارند، کاربرد دارد.
مثال:
در مثال زیر، تمامی فیلدهای <input> که دارای هر نوع ویژگی type هستند (مثلاً text، password و غیره) انتخاب و برای آنها یک حاشیه تنظیم میشود.
<input type="text" placeholder="نام خود را وارد کنید"> <input type="password" placeholder="رمز عبور خود را وارد کنید"> <input type="email" placeholder="ایمیل خود را وارد کنید">
input[type] {
border: 1px solid black;
}
توضیح:
در این مثال، تمامی عناصر <input> که دارای ویژگی type هستند، یک حاشیه مشکی خواهند داشت. انتخابگر [type] اطمینان حاصل میکند که تنها فیلدهایی که ویژگی type دارند انتخاب شوند، و سایر فیلدها (بدون ویژگی type) انتخاب نخواهند شد.
کاربرد:
استایلدهی به عناصر با ویژگی خاص: انتخاب تمام عناصری که ویژگی خاصی دارند.
استفاده در فرمها: برای انتخاب انواع مختلف فیلدهای ورودی با ویژگیهای خاص.
انتخابگر [attribute=value]
انتخابگر [attribute=value] عناصری را انتخاب میکند که دارای یک ویژگی با مقدار مشخصی هستند. این انتخابگر بهویژه در مواردی که بخواهید استایل خاصی را برای عناصر با مقدار ویژگی دقیق و مشخصی تنظیم کنید، کاربردی است.
مثال:
در این مثال، تمامی فیلدهای <input> با نوع text انتخاب میشوند و رنگ پسزمینه آنها تغییر میکند.
<input type="text" placeholder="نام خود را وارد کنید"> <input type="password" placeholder="رمز عبور خود را وارد کنید"> <input type="email" placeholder="ایمیل خود را وارد کنید">
input[type="text"] {
background-color: lightgrey;
}
توضیح:
در اینجا، تنها فیلد ورودی متنی (یعنی فیلدی با type=”text”) پسزمینهای خاکستری خواهد داشت، و فیلدهای دیگر بدون تغییر باقی میمانند.
کاربرد:
استایلدهی بر اساس مقدار دقیق ویژگی: برای انتخاب و استایلدهی دقیق به عناصر با مقدار مشخص.
استفاده در لینکها و فرمها: مثلاً انتخاب لینکهای با مقصد خاص یا فیلدهای فرم با نوع خاص.
انتخابگر [attribute^=value]
انتخابگر [attribute^=value] عناصری را انتخاب میکند که مقدار ویژگیشان با یک مقدار خاص شروع میشود. این انتخابگر معمولاً برای انتخاب لینکها با پروتکلهای خاص یا فیلدهای خاصی که ویژگیهایشان الگوی آغازینی خاصی دارد، مفید است.
مثال:
فرض کنید میخواهید تمامی لینکهایی که با https شروع میشوند (لینکهای ایمن) را به رنگ سبز نمایش دهید.
<a href="https://example.com">لینک ایمن</a> <a href="http://example.com">لینک غیر ایمن</a>
a[href^="https"] {
color: green;
}
توضیح:
در این مثال، فقط لینکهای با پروتکل https به رنگ سبز نمایش داده میشوند. لینکهای دیگر، مانند http یا سایر پروتکلها، تحت تأثیر قرار نمیگیرند.
کاربرد:
استفاده در لینکها: برای انتخاب و استایلدهی لینکهای ایمن یا لینکهای با ساختار خاص.
کاربرد در فرمها: انتخاب فیلدهایی که ویژگی خاص آنها با الگوی خاصی شروع میشود.
انتخابگر [attribute$=value]
انتخابگر [attribute$=value] عناصری را انتخاب میکند که مقدار ویژگیشان با یک مقدار خاص به پایان میرسد. این انتخابگر اغلب برای انتخاب عناصر با ویژگیهایی مانند فایلهای تصویر یا فایلهای با پسوند خاص استفاده میشود.
مثال:
در این مثال، تمامی تصاویر با فرمت .jpg انتخاب شده و گوشههای آنها گرد میشود.
<img src="image1.jpg" alt="تصویر 1"> <img src="image2.png" alt="تصویر 2">
img[src$=".jpg"] {
border-radius: 5px;
}
توضیح:
در اینجا، تنها تصاویری که با پسوند .jpg هستند، گوشههای گرد خواهند داشت. این انتخابگر برای مواردی که نیاز دارید به فایلهای خاصی استایلدهی کنید، بسیار مفید است.
کاربرد:
استایلدهی به فایلهای خاص: مانند انتخاب و استایلدهی به تصاویر با پسوندهای خاص.
استفاده در لینکها: برای لینکهای دانلود فایلهای با فرمت خاص (مثلاً .pdf، .doc).
انتخابگر [attribute*=value]
انتخابگر [attribute*=value] عناصری را انتخاب میکند که مقدار ویژگیشان حاوی یک زیررشته خاص است. این انتخابگر به شما امکان میدهد عناصری را که ویژگی آنها شامل یک عبارت خاص است، انتخاب کنید.
مثال:
فرض کنید میخواهید تمامی لینکهایی که حاوی کلمه example در ویژگی href خود هستند را به صورت ایتالیک نمایش دهید.
<a href="https://example.com">لینک مثال</a> <a href="https://testexample.com">لینک تست مثال</a> <a href="https://exampletest.com">لینک مثال تست</a>
a[href*="example"] {
font-style: italic;
}
توضیح:
در اینجا، تمامی لینکهایی که عبارت example را در ویژگی href خود دارند، به صورت ایتالیک نمایش داده میشوند. این انتخابگر بهویژه در مواردی که نیاز به انتخاب عناصری با الگوی جزئی در مقدار ویژگی دارید، کاربرد دارد.
کاربرد:
استفاده در لینکها: انتخاب لینکهایی که بخشی از ویژگی href آنها حاوی کلمه یا الگوی خاصی است.
کاربرد در فرمها و فایلها: برای انتخاب فیلدهایی که ویژگی آنها شامل یک عبارت خاص است.
افزایش خوانایی کد CSS: با استفاده از انتخابگرهای ویژگی، میتوانید کد CSS خود را سادهتر و خواناتر نگه دارید.
پشتیبانی مرورگرها: بیشتر مرورگرهای مدرن از انتخابگرهای ویژگی پشتیبانی میکنند، اما برای اطمینان از کارکرد صحیح بهتر است سازگاری مرورگرها را بررسی کنید.
ترکیب با سایر انتخابگرها: انتخابگرهای ویژگی را میتوانید با سایر انتخابگرها (مانند کلاسها، شبهکلاسها و شبهعناصر) ترکیب کنید تا استایلدهی دقیقتری داشته باشید.
انتخابگرهای ویژگی در CSS به شما این امکان را میدهند که بدون افزودن کلاسهای اضافی به HTML، استایلهایی هدفمند و دقیق برای عناصر خاص اعمال کنید و تجربه کاربری را بهبود بخشید.انتخابگرهای ویژگی در CSS ابزارهای قدرتمندی هستند که به شما اجازه میدهند عناصر خاص را با ویژگیهای دقیق انتخاب کرده و استایلدهی دقیقتری اعمال کنید. این انتخابگرها میتوانند طراحیهای واکنشگرا و تعاملیتری را ایجاد کنند، بدون اینکه نیاز به افزودن کلاس یا شناسه در HTML باشد.
نتیجه گیری
در پایان، انتخابگرها، شبهکلاسها، و شبهعناصر در CSS ابزارهای مهمی هستند که به طراحان وب اجازه میدهند استایلدهی دقیق و پویایی به عناصر HTML اعمال کنند. این ویژگیها کمک میکنند تا بدون نیاز به تغییر ساختار HTML، به عناصر مختلف بر اساس موقعیت، ویژگی، یا وضعیت خاص دسترسی پیدا کرده و ظاهر سایت را جذابتر و کاربرپسندتر کنند. با تسلط بر این مفاهیم، میتوان طراحیهای حرفهایتر و بهینهتری ایجاد کرد که تجربه کاربری را بهبود میبخشد.
