محدد CSS لحقول إدخال النص؟
-
29-09-2019 - |
سؤال
كيف يمكنني استهداف حقول الإدخال من "النص" باستخدام محددات CSS؟
المحلول
input[type=text]
أو لتقييد المدخلات النصية داخل النماذج
form input[type=text]
أو ، لتقييد نموذج معين ، على افتراض أنه يحتوي على معرف myForm
#myForm input[type=text]
إشعار: هذا غير مدعوم من قبل IE6 ، لذلك إذا كنت ترغب في تطوير IE6 إما استخدام IE7.js (كما اقترح yi Jiang) أو ابدأ في إضافة فئات إلى جميع مدخلات النصوص.
المرجعي: http://www.w3.org/tr/css2/selector.html#attribute-selectors
لان تم تحديده قد لا تكون قيم السمة الافتراضية هذه قابلة للاختيار دائمًا مع محددات السمات ، يمكن للمرء أن يحاول تغطية حالات ترميز أخرى يتم تقديم مدخلات نصية لها:
input:not([type]), // type attribute not present in markup
input[type=""], // type attribute present, but empty
input[type=text] // type is explicitly defined as 'text'
لا يزال هذا يترك الحالة عند تعريف النوع ، ولكن له قيمة غير صالحة ولا تزال تراجع إلى type = "نص". لتغطية أنه يمكننا استخدام جميع المدخلات التي ليست واحدة من الأنواع الأخرى المعروفة
input:not([type=button]):not([type=password]):not([type=submit])...
لكن هذا المحدد سيكون سخيفًا جدًا وأيضًا قائمة الأنواع الممكنة ينمو مع ميزات جديدة تضاف إلى HTML.
لاحظ ال :not
الفئة الزائفة مدعوم فقط بدءا من IE9.
نصائح أخرى
يمكنك استخدام محدد السمة هنا:
input[type="text"] {
font-family: Arial, sans-serif;
}
هذا مدعوم في IE7 وما فوق. يمكنك استخدام IE7.JS لإضافة دعم لهذا إذا كنت بحاجة إلى دعم IE6.
نرى: http://reference.sitepoint.com/css/attributeselector للمزيد من المعلومات
عادةً ما أستخدم المحددات في ورقة الأنماط الرئيسية ، ثم قم بعمل ملف .js (jQuery) المحدد IE6 الذي يضيف فئة إلى جميع أنواع الإدخال. مثال:
$(document).ready(function(){
$("input[type='text']").addClass('text');
)};
ثم فقط تكرار أنماطي في ورقة الأنماط الخاصة بـ IE6 باستخدام الفصول. وبهذه الطريقة فإن الترميز الفعلي هو أنظف قليلاً.
يمكنك استخدام :text
محدد لتحديد جميع المدخلات مع نص النوع
$(document).ready(function () {
$(":text").css({ //or $("input:text")
'background': 'green',
'color':'#fff'
});
});
:text
هو امتداد jQuery وليس جزءًا من مواصفات CSS ، والاستعلامات التي تستخدم: لا يمكن أن يستفيد النص من دفعة الأداء التي توفرها طريقة DOM QuerySelectorAll (). للحصول على أداء أفضل في المتصفحات الحديثة ، استخدم [type="text"]
في حين أن. هذا سوف يعمل لصالح IE6+
.
$("[type=text]").css({ // or $("input[type=text]")
'background': 'green',
'color':'#fff'
});
CSS
[type=text] // or input[type=text]
{
background: green;
}
كان لدي حقل نص نوع الإدخال في حقل صف الجدول. أنا أستهدفه بالرمز
.admin_table input[type=text]:focus
{
background-color: #FEE5AC;
}
كما تم نشر Amir أعلاه ، فإن أفضل طريقة في الوقت الحاضر-المتصفح المتقاطع وتركها وراء IE6-هي الاستخدام
[type=text] {}
لم يذكر أحد خصوصية CSS أقل (لماذا هو الذي - التي مهم؟) حتى الآن، [type=text]
الميزات 0،0،1،0 بدلاً من 0،0،1،1 مع input[type=text]
.
من ناحية الأداء ، لم يعد هناك تأثير سلبي على الإطلاق.
تطبيع v4.0.0 تم إصداره للتو مع انخفاض خصوصية المحدد.
مع محدد السمة ، نستهدف نص الإدخال في CSS
input[type=text] {
background:gold;
font-size:15px;
}
الإدخال [type = text
سيؤدي ذلك إلى تحديد كل نص نوع الإدخال في صفحة ويب.
غالبًا ما يتم استخدام محددات السمات للمدخلات. هذه هي قائمة محددات السمات:
العنوان] يتم تحديد جميع العناصر مع سمة العنوان.
العنوان = الموز] جميع العناصر التي لها قيمة "الموز" لسمة العنوان.
العنوان ~ = الموز] جميع العناصر التي تحتوي على "موز" في قيمة سمة العنوان.
العنوان | = الموز] جميع العناصر التي تبدأ قيمة سمة العنوان بـ "الموز".
title^= banana] جميع العناصر التي تبدأ قيمة سمة العنوان تبدأ بـ 'Banana'.
العنوان $ = BANANA] جميع العناصر التي تنتهي قيمة سمة العنوان بـ "Banana".
العنوان*= الموز] جميع العناصر التي تحتوي على قيمة سمة العنوان تحتوي على "الموز" الفرعية.
المرجعي: https://kolosek.com/css-selectors/