read-write یک pseudo-class است که برای انتخاب و استایل دهی به عناصری که توسط کاربر قابل ویرایش هستند مورد استفاده قرار می گیرد.
عناصر قابل ویرایش به شرح زیر می باشند:
- هر نوع عنصر
<input>
که ویژگی(attribute)هایdisabled
وreadonly
را نداشته باشد. - عنصر
<textarea>
که ویژگی هایdisabled
وreadonly
را نداشته باشد. - هر عنصری غیر از این دو که دارای ویژگی
contenteditable
باشد.
در مورد ویژگی contenteditable
می توانید در این مطلب بیشتر بخوانید.
انتخابگر read-write
می تواند موارد بالا را هدف قرار دهد.
مثال های زیر نمونه هایی هستند که این انتخابگر می تواند هدف قرار دهد:
<input type="text">
<input type="email">
<input type="number">
<textarea name="" id="" cols="20" rows="10"> </textarea>
<section contenteditable="true"></section> <!-- == <section contenteditable ></section> -->
در CSS می توان از این انتخابگر بصورت زیر استفاده کرد:
input:read-write {
background-color: #eee;
}
عناصر زیر نمونه هایی هستند که نمی توانند توسط :read-write
انتخاب شوند اما انتخابگر read-only می تواند آنها را هدف قرار دهد:
<input type="text" disabled>
<input type="email" readonly>
<input type="number" disabled>
<textarea name="" id="" cols="20" rows="10" readonly> </textarea>
<div class="test"></div>
<section contenteditable="false"></section> <!-- == <section></section> -->
اگرچه که این رویه استاندارد می باشد اما رفتار برخی مرورگرها در مورد این دو انتخابگر متفاوت است و امکان دارد استایل هایی که برای انتخابگر read-only
می نویسیم در مرورگری دیگر برای عناصر read-write
اعمال شود و بالعکس. برای بررسی بیشتر این قضیه به قسمت پشتیبانی مرورگرها و دمو مراجعه کنید.
مانند دیگر pseudo-classها این انتخابگر نیز می تواند با دیگر انتخابگرها بصورت زنجیره ای مورد استفاده قرار بگیرد:
div:read-write:hover {
background-color: #ccc;
border: 1px solid #999;
}
دموی زیر را با دقت بررسی کنید:
See the Pen read-only, read-write pseudo-classes by Mojtaba Seyedi (@seyedi) on CodePen.
پشتیبانی مرورگر ها
انتخابگر :read-write
در مرورگرهای کروم, سافاری, اپرا پشتیبانی می شود اما اینترنت اکسپلورر آن را پشتیبانی نمی کند.
در فایرفاکس نیاز است از پیشوند -moz-
بصورت زیر استفاده کنیم:
input:-moz-read-write {
}
در مرورگرهای کروم, فایرفاکس, اپرا و سافاری input
هایی که دارای ویژگی disabled
می باشند با انتخابگر read-write
انتخاب می شوند نه read-only
که خلاف استاندارد است.
سوال داری؟ برو به پنل پرسش و پاسخ