سؤال

لقد بدأت للتو العمل في شركة كبيرة جدًا وتدير مجموعتي جميع مواقعها الإلكترونية العامة.لقد فتحت ورقة الأنماط لأول مرة اليوم وشاهدت أكثر من 20 حالة لمصممين يستخدمون تقنية اختراق عائلة الصوت لإصلاح خطأ في IE.(لا أعرف لماذا يسمحون لمصممي الجرافيك بكتابة أي نوع من العلامات على الإطلاق)

ما هو الرأي العام حول اختراق عائلة الصوت.هل يستحق الأمر الوقت للتوصية باستخدام تعليقات IE الشرطية لتضمين أوراق الأنماط المخصصة؟

هل كانت مفيدة؟

المحلول

تعد عمليات الاختراق من أي نوع خطيرة لأنها عرضة لإحداث تأثيرات غير مقصودة في المتصفحات المستقبلية (لقد تعطلت الكثير من المتصفحات مع IE7).الطرق الآمنة لتصفية CSS هي:

  • (لـ IE فقط) استخدام التعليقات الشرطية.ستعمل هذه دائمًا على متصفحات Microsoft وسيتم تجاهلها دائمًا من قبل جميع المتصفحات الأخرى لأنها موجودة ضمن التعليقات
  • استهداف الميزات - استخدام محددات CSS التي تدعمها المتصفحات الحديثة فقط لمنع المتصفحات القديمة من محاولة تفسير القواعد.ومع ذلك، فإن حقيقة أن المتصفح يتعرف على بناء الجملة لا تعني أنه يتعامل معها بشكل صحيح.كل ما تضمنه هنا هو أن المتصفحات القديمة لن تحاول عرض هذه القواعد وليس أن المتصفحات الحديثة ستنفذها بشكل صحيح

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

نصائح أخرى

يتم استخدام اختراق "voice-family"، المعروف باسم Tantek Celik Box Model Hack، لإخفاء قواعد CSS محددة من IE4/5 على نظام التشغيل Windows بسبب التنفيذ غير الصحيح لمعيار CSS في تلك المتصفحات.إنها محاولة لتقديم ورقة الأنماط الفردية الأكثر صحة لجميع المتصفحات، دون اللجوء إلى استنشاق المتصفح وأوراق الأنماط المتعددة.

ومن المفارقات أن هذا الاختراق هو نتيجة لساعات طويلة (أشهر؟) من التجارب والاختبارات لتطوير ورقة أنماط متوافقة مع المعايير والتي تعمل عبر المتصفحات الأقدم والأحدث والمستقبلية.إنه أحد الحلول العديدة التي تم إنشاؤها للتعويض عن الحالة الرهيبة لامتثال المتصفح لمعايير CSS.

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

http://www.amazon.com/Designing-Web-Standards-Jeffrey-Zeldman/dp/0321385551/

أحد الأمثلة على ذلك هو سباق التسلح لمواكبة مجموعات المتصفحات وأنظمة التشغيل، ناهيك عن الهواتف المحمولة والأجهزة المستقبلية الأخرى ذات القدرة على التصفح.يجب تغيير رمز الكشف مع كل مجموعة جديدة، ونظرًا للطريقة التي تتنكر بها العديد من المتصفحات تحت اسم Netscape Navigator، يمكن أن يصبح الكشف وظيفة بدوام كامل.

مرجع جيد آخر هو مشروع معايير الويب، الذي يحتوي على الكثير من المعلومات والبرامج التعليمية الجيدة حول هذا الموضوع:

http://www.webstandards.org/

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

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

لا تستخدم التضمينات المشروطة.إستخدم محدد CSS بدلا من ذلك, ، إنه أكثر أناقة بكثير.يمكنك استهداف الفئات في المتصفحات الفردية (و/أو الإصدارات):

.صفي { ...}

.ie6 .ماي كلاس { ...}

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top