بمجرد أن يعتاد الناس على شيء ما، يكون من الصعب تغييره لأسباب مختلفة، فهناك المزيد والمزيد من المتصفحات الجديدة، ولكن لا يمكن التخلص من المتصفحات القديمة. يكون النمو دائمًا أسرع من الموت، مما يؤدي إلى أن يصبح توافق المتصفح موضوعًا لا نهاية له. عند الحديث عن توافق المتصفح، يتبادر إلى ذهنك بطبيعة الحال CSS HACK . اليوم، عادة ما يكون لدينا فريق أو فريق من الأشخاص يقومون بنفس الشيء في الشركة، ونحن بحاجة إلى مواصفات موحدة للترميز لتسهيل الصيانة. طريقة حل التوافق (يجب أن يكون، لأن هذا هو الأكثر احتمالا للمشاكل) من أهم المواصفات التي يجب حلها.
فيما يتعلق بحلول التوافق، إذا أردنا صياغة مواصفات موحدة، أعتقد شخصيًا أن النقاط الثلاث التالية يجب أن تكون المبادئ الأساسية:
إن وضع التكلفة في المقام الأول هنا لا يعني أننا غير راغبين في السعي إلى الكمال، ولكن السعي إلى الكمال بشكل متعمد قد يعيق أحيانًا تقدمنا؛ بعد التكلفة، يجب أن تكون قابلة للصيانة وقابلة للقراءة، وهو أمر بالغ الأهمية للفريق، و والنتيجة النهائية هي خفض التكاليف.
دعونا نحفظ هذه المبادئ الثلاثة أولًا، ودعنا نلقي نظرة على أساليب الكتابة المعتادة لدينا لحل المشكلات المتوافقة (سيتم إرفاق قائمة مفصلة بأساليب الاختراق لاحقًا):
1. هاك محدد CSS
/* الأوبرا */
@media الكل و (-webkit-min-device-pixel-ratio: 10000)، وليس الكل و (-webkit-min-device-pixel-ratio: 0)
{الرأس~الجسم .sofish{العرض:كتلة؛}}
من مميزات وعيوب هذه الطريقة في الكتابة ما يلي :
2. هاك خاصية CSS
.سوفيش{
الحشو: 10 بكسل؛
الحشو:9px9;
الحشو:8px ; /* ie8-9 */
*الحشوة:5px; /* ie6-7 */
+الحشوة:7 بكسل؛ /* ie7 */
_الحشو:6 بكسل؛ /* ie6 */
}
من مميزات وعيوب هذه الطريقة في الكتابة ما يلي :