كيفية الحصول على "الموقف: ثابت" المغلق للعمل في IE 7+ مع DOCTYPE الانتقالية؟

StackOverflow https://stackoverflow.com/questions/1628265

سؤال

وأنا أعلم أن كان position:fixed; غير معتمدة من قبل IE حتى IE 7، وأنها لا تعمل إلا في IE 7 إذا كان لديك STRICT DOCTYPE.

وسؤالي هو: "كيف يمكنني الحصول عليه العمل مع IE 7 مع TRANSITIONAL DOCTYPE"

تجدر لا أقترح تغيير DOCTYPE، وهذا لا يجيب على سؤالي، شكرا لك.

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

المحلول

وأنت لا تحتاج إلى DOCTYPE الصارم لدعم fixed. ما عليك سوى DOCTYPE الذي يقوم بتشغيل معايير وضع (أو المعايير تقريبا). يمكن أن يكون نوع مستند الانتقالي مثل:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

وأو XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

وطالما أن ID النظام (URI في النهاية) يتم تضمين.

إذا صفحاتك حقا <م> هي الاعتماد على الوضع المراوغات (هتاف اشمئزاز!)، أنا آسف ولكن لا يمكنك استخدام fixed وسوف تضطر الى اللجوء الى الخارقة جافا سكريبت (ولكن بعد ذلك قد تحتاج تلك IE6 على أي حال).

نصائح أخرى

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

.elementToBeFixed {
    position: fixed;
    top: 0;
    left: 0;
}

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

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