تخطَّ إلى المحتوى الرئيسي
Niquelao الوصولية على الويب وتطوير الواجهات الأمامية بالعربية: معايير WCAG، وعناصر واجهة قابلة للوصول، وإضافات لفايرفوكس، مشروحة بأكواد حقيقية.

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

نيكيلاو » أرشيف المدونة » مشاكل المساحة والزائفة

» أرشيف المدونة » مشاكل المسافات والعناصر الزائفة Niquelao - CSS مشاكل المسافات والعناصر الزائفة 7 سبتمبر 2006 بقلم ماروتو

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

ما الذي يحدث؟ عندما نستخدم العناصر الزائفة المعرّفة في مواصفات CSS 2.1: :first-letter و :first-line (نتجاهل العنصر الزائف :first-child وما شابهه لأن صديقنا IE يتجاهلها قليلاً) يمكننا أن نلاحظ أننا في بعض الأحيان لا نحصل على النتائج المتوقعة. ما الذي يحدث؟. بشكل غير مفهوم، يفشل IE في تفسير صياغة CSS. إذا استخدمنا بعد هذه العناصر الزائفة القوس { لبدء تعريفنا دون ترك مسافة بينهما، فإن IE لا يفسّره. يمكنك رؤية ذلك في المثال الأول.

p:first-line { color: blue; font-weight: bold; }

يحدث الشيء نفسه إذا حاولنا تقديم خصائص مشتركة لعدة عناصر في تعريف واحد، حيث تظهر مفصولة بفواصل ,. يمكنك رؤية ذلك في المثال الثاني.

p:first-letter , blockquote p:first-letter { color: #000; font: 2.3em serif; float: left; margin: .2em .2em 0 0; }

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

p:first-letter , blockquote p:first-letter { color: #000; font: 2.3em serif; float: left; margin: .2em .2em 0 0; }

آه!! لم ينته كل شيء هنا! مشكلة صغيرة أخرى نجدها تأتي من القوائم. والآن، ما الذي يحدث؟. إذا طبقنا نمطاً على العنصر الزائف :first-letter على عناصر القائمة، فإن IE ي propagate بشكل لطيف إلى علامة عنصر القائمة نفسه (النقطة في حالة القائمة غير المرتبة، الرقم أو الحرف في حالة القائمة المرتبة). يا غير مصدق، انظر المثال الرابع.

Related: con plan gratuito para empezar hoy mismo.

والحل لهذه الفوضى؟ إذا قبلتم الأخطبوط كحيوان أليف، سنقول إنه بحذف علامات القوائم عبر:

li {list-style:none}

وإلا، فلا شيء. تفصيل آخر بلا أهمية، هو أن IE7b2 لا يهمه عدم وجود مسافات بين العنصر الزائف والحرف {. لكن أخيه الصغير يهمه ذلك، لذا لنحترم مساحته الحيوية.

وبالمناسبة، ماذا عن التخصيص؟ حسناً، ماذا سيحدث، لا شيء، على الأقل مع IE. أولاً يجب أن نعرف أن هذه العناصر الزائفة فقط (وهو ليس بالقليل)، تؤثر على العناصر على مستوى الكتلة. حسناً، إذا عرّفنا خصائص لفقرة مثلاً ثم عرّفنا خصائص أخرى لفقرة أخرى تظهر داخل كتلة اقتباس (blockquote) سنحصل على نفس الخصائص في الفقرتين (بالطبع، ذلك إذا انتبهنا لإعطاء المسافة المناسبة بين العنصر الزائف ورمزه الرائع. كل ذلك ملخص في المثال الأخير.

Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.

والحل؟ بما أنني تعبت اليوم، ابحث عنه أنت.

الفئة: CSS —> يمكنك متابعة التعليقات بفضل خلاصة RSS 2.0. يمكنك أيضاً ترك تعليق، أو إرسال trackback من موقعك.

المقال السابق: تعديل النماذج (الحلقة الأولى) المقال التالي: نطلق Asides

اترك تعليقك حقول الاسم والبريد الإلكتروني إلزامية

أضفنا إلى… الوسوم التي نبرزها بشكل عام إمكانية الوصول bert bos blockquote bug cañas اقتباسات cite سلوك معرفة CSS escuas معايير fieldset Firefox تنسيق نموذج خطوط hidden ie IE 7 معلومات javascript legend قائمة niquelando إلزامي opera playa q squash عطلات w3c WCAG xhtml

هذا العمل مرخّص بموجب رخصة Creative Commons.

P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.


¿Cumplir WCAG sin tocar el código?

Superposición de IA que promete cumplimiento WCAG en 48 horas