تصميم العنصر النائب CSS. كيفية تغيير لون نص تلميح الأداة في عنصر نائب باستخدام أنماط CSS؟ المهمة: اصنع نمط CSS الخاص بك للعنصر النائب

💖 هل يعجبك؟شارك الرابط مع أصدقائك
عادةً ما يتم استخدام سمة العنصر النائب في منطقة الإدخال ومنطقة النص لتوفير عبارة تحث المستخدم على اتخاذ إجراء داخل تلك العناصر. سأصف في هذه المذكرة عدة خيارات لتصميم نص العناصر النائبة، بالإضافة إلى خيارات للرسوم المتحركة الخاصة بها

لذا، يمكن تغيير لون نص العنصر النائب باستخدام، على سبيل المثال، مجموعة قواعد CSS التالية:

::-webkit-input-placeholder (اللون : #c0392b ;) ::-moz-placeholder ( اللون : #c0392b ;) /* Firefox 19+ */ :-moz-placeholder ( اللون : #c0392b ;) /* Firefox 18- */ :-ms-input-placeholder ( color : #c0392b ;)

يرجع طول التعليمات البرمجية لتصميم هذه الخاصية البسيطة إلى عدم وجود معيار مشترك، وبالتالي قام كل متصفح بتنفيذ دعم لتصميم العناصر النائبة بطريقته الخاصة.

بالإضافة إلى ذلك، ليست جميعها مدعومة خصائص المغلق. فيما يلي قائمة بالخصائص المدعومة بالضبط:

الخط (وما يتصل به)
الخلفية (وما يتصل بها)
لون
تباعد الكلمات
تباعد الحروف
زخرفة النص
محاذاة عمودية
تحويل النص
ارتفاع خط
المسافة البادئة النص
تجاوز النص
العتامة

ويحدث أيضًا أن نص العنصر النائب "يوسع" عرض عنصر الإدخال أو منطقة النص (حالة شائعة لـ أجهزة محمولة). وفي الوقت نفسه، يتم قطعه تلقائيًا بشكل قبيح.

ستساعدنا خاصية CSS مثل text-overflow: ellipsis في حل هذه المشكلة، مما سيضيف قطعًا جماليًا إلى المنطقة التي تم اقتصاصها من العنصر النائب. في الأنماط نكتب مثل هذا:

الإدخال [العنصر النائب] (تجاوز النص: علامات الحذف؛) الإدخال ::-moz-العنصر النائب (تجاوز النص: علامات الحذف؛) الإدخال: -moz-العنصر النائب (تجاوز النص: علامات الحذف؛) الإدخال: -ms-input-placeholder ( تجاوز النص: علامة القطع ;)

لإضافة المزيد من الجماليات إلى العناصر النائبة لدينا، من الممكن إضافة تأثير إخفائها عندما يتلقى العنصر المقابل التركيز.

بعض الأمثلة على هذا الاختباء باستخدام عناصر الرسوم المتحركة:

/* تغيير سلس في شفافية العنصر النائب عند التركيز عليه */.input ::-webkit-input-placeholder ( العتامة : 1 ; الانتقال : العتامة 0.3 ثانية سهولة ;) .input ::-moz-placeholder ( العتامة : 1 ; الانتقال : العتامة 0.3 ثانية سهولة ;).input :-moz- العنصر النائب (العتامة: 1؛ الانتقال: العتامة 0.3 ثانية سهولة؛). الإدخال: -ms-input-placeholder (العتامة: 1؛ الانتقال: العتامة 0.3 ثانية سهولة؛). الإدخال (العتامة: 0؛ الانتقال: العتامة 0.3 ثانية سهولة؛ ) .input :focus::-moz-placeholder ( العتامة : 0 ; الانتقال : العتامة 0.3 ثانية سهولة ;) .input : التركيز: -moz-placeholder ( العتامة : 0 ; الانتقال : العتامة 0.3 ثانية سهولة ; :-ms -عنصر نائب للإدخال (التعتيم: 0؛ الانتقال: التعتيم 0.3 ثانية سهولة؛) /* قم بإزاحة العنصر النائب إلى اليمين عند التركيز عليه */.input ::-webkit-input-placeholder ( مسافة بادئة للنص : 0px ؛ انتقال : مسافة بادئة للنص 0.3 ثانية سهولة ؛) .input :: -moz-placeholder ( مسافة بادئة للنص : 0px ؛ انتقال : مسافة بادئة للنص 0.3 ثانية سهولة ؛).الإدخال: -moz-placeholder (مسافة بادئة للنص: 0px ؛ الانتقال: مسافة بادئة للنص 0.3 ثانية بسهولة؛). الإدخال: -ms-input-placeholder (مسافة بادئة للنص: 0px ؛ انتقال: مسافة بادئة للنص 0.3 ثانية بسهولة) ؛).مدخل :focus::-webkit-input-placeholder(مسافة بادئة للنص: 500 بكسل؛ انتقال: مسافة بادئة للنص 0.3 ثانية سهولة؛).input :focus::-moz-placeholder (مسافة بادئة للنص: 500 بكسل؛ انتقال: مسافة بادئة للنص 0.3 ثانية سهولة؛).input :focus:- moz-placeholder (مسافة بادئة للنص: 500 بكسل؛ انتقال: مسافة بادئة للنص 0.3 ثانية سهولة؛) .input :التركيز:-ms-input-placeholder (مسافة بادئة للنص: 500 بكسل؛ انتقال: مسافة بادئة للنص 0.3 ثانية سهولة ;) /* قم بإزاحة العنصر النائب للأسفل عند التركيز عليه */.input ::-webkit-input-placeholder (ارتفاع الخط: 20px ؛ الانتقال: ارتفاع الخط 0.5 ثانية بسهولة ؛) .input ::-moz-placeholder (ارتفاع الخط: 20px ؛ الانتقال: ارتفاع الخط 0.5 ثانية سهولة) ؛).الإدخال: -moz-placeholder (ارتفاع الخط: 20 بكسل ؛ الانتقال: ارتفاع الخط 0.5 ثانية سهولة ؛). الإدخال: -ms-input-placeholder (ارتفاع الخط: 20 بكسل ؛ الانتقال: ارتفاع الخط 0.5 ثانية سهولة). ؛).مدخل :focus::-webkit-input-placeholder( ارتفاع الخط : 100 بكسل ؛ الانتقال : ارتفاع الخط 0.5 ثانية سهولة ؛). الإدخال : التركيز:: -moz-placeholder ( ارتفاع الخط : 100 بكسل ؛ الانتقال : ارتفاع الخط 0.5 ثانية سهولة ؛). الإدخال : التركيز: - moz-placeholder (ارتفاع الخط: 100 بكسل؛ الانتقال: ارتفاع الخط 0.5 ثانية سهولة؛). الإدخال: التركيز: -ms-input-placeholder (ارتفاع الخط: 100 بكسل؛ الانتقال: ارتفاع الخط 0.5 ثانية سهولة ;)

دعونا ننتهي هنا.

إذا لم تكن على دراية بسمة العنصر النائب، فلنشرح قليلاً ما هي وأين يتم استخدامها. يتم استخدامه في حقول إدخال النموذج. تعرض السمة نصًا في حقل الإدخال، يمثل دور تلميح معين. في وقت سابق على موقعنا كان هناك مثال، مع باستخدام جافا سكريبت، جانب إيجابي هذه الطريقةإنه متوافق مع المتصفحات المختلفة. الآن دعونا نتحدث عن تصميم سمة العنصر النائب، والتي يتم استخدامها في عناصر الإدخال ومنطقة النص.
سيبدو رمز حقل الإدخال في مثالنا كما يلي:

في الإخراج نحصل على الحقل التالي:

لنتخيل الآن أننا بحاجة إلى تصميم العنصر النائب، ولهذا نحتاج إلى كتابة مجموعة من القواعد في CSS:

::-webkit-input-placeholder ( اللون: #c1c1c1; ) ::-moz-placeholder ( اللون: #c1c1c1; ) /* Firefox 19+ */ :-moz-placeholder ( اللون: #c1c1c1; ) /* Firefox 18- */ :-ms-input-placeholder ( color: #c1c1c1; )

نحن نحصل:

لا يمكننا تغيير جميع الخصائص، ولكن قائمة بمعظمها التي تدعمها المتصفحات الحديثة مذكورة أدناه:
الخط(أيضا الخصائص ذات الصلة)
خلفية(أيضا الخصائص ذات الصلة)
لون
تباعد الكلمات
تباعد الحروف
زخرفة النص
محاذاة عمودية
تحويل النص
ارتفاع خط
المسافة البادئة النص
تجاوز النص
العتامة

في متصفحات مختلفةتتم كتابة القاعدة بشكل مختلف، ل على الرغم من عدم وجود معيار واحد، إلا أن هذه المجموعة من السجلات لا تزال ذات صلة. في متصفح IE، وكذلك Firefox الإصدار 18، يُنظر إلى العنصر النائب على أنه فئة زائفة، وفي المتصفحات الجديدة Firefox وwebkit وblink يُنظر إليه على أنه عنصر زائف.

تقصير النص في العنصر النائب
في بعض الأحيان، يمكن أن تكون تلميحات الأدوات طويلة جدًا بحيث لا يمكن احتواؤها بالكامل في حقل الإدخال. لهذه الأغراض، يمكنك أيضًا استخدام خصائص إضافية تسمح لك بتقصير نص العنصر النائب في حقل الإدخال.

الإدخال (تجاوز النص: علامة الحذف؛) الإدخال::-moz-placeholder (تجاوز النص:علامة القطع؛) الإدخال:-moz-placeholder (تجاوز النص:علامة الحذف؛) الإدخال:-ms-input-placeholder (تجاوز النص :حذف؛

ونتيجة لذلك، نحصل على حقل إدخال مع عنصر نائب مثل هذا:

إخفاء النص عند النقر على الحقل
افتراضيًا، يفسر كل متصفح استجابة العنصر النائب بشكل مختلف. في بعض المتصفحات يكون مخفيًا فورًا عند النقر فوق الحقل، وفي متصفحات أخرى يكون مخفيًا عندما يكون هناك حرف واحد على الأقل في حقل الإدخال. لنجعل النص يختفي عند النقر على الحقل، نفس الشيء في جميع المتصفحات.

:التركيز::-webkit-input-placeholder (اللون: شفاف; ) :التركيز::-moz-placeholder (اللون: شفاف;) :التركيز:-moz-placeholder (اللون: شفاف; ) :التركيز:-ms-input -العنصر النائب (اللون: شفاف؛)

نحصل على هذا الإجراء:

في محاولة لتقليل الشكل وتقليل الضوضاء البصرية، قام المصممون بوضع علامة

بشكل سيئ

بخير

التصميم: تغيير لون العنصر النائب CSS

تغيير نمط حقل الإدخال باستخدام العنصر النائب CSS

بشكل سيئ

تأثير العنصر النائب ل

سمة العنصر النائب تعمل فقط مع و