هل من المقبول استخدام التكبير: 1 في فصول CSS الخاصة بي؟

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

  •  03-10-2019
  •  | 
  •  

سؤال

كلما وجدت IE يعرض موقع الويب الخاص بي غريبًا (يختلف عن Chrome و Firefox) ، أحاول وضع ملف zoom:1 في فئة CSS للجزء الذي يتم عرضه غريب. في كثير من الأحيان ، يعمل هذا على إصلاح المشكلة ويجعلها تبدو متسقة مع المتصفحات الأخرى.

هل هي مشكلة في الاستخدام zoom:1؟ أعلم أن CSS الخاص بي لن يتحقق من صحة ، ولكن هل هناك أي مشاكل في العالم الحقيقي يمكن أن تنشأ إذا كنت أعتمد كثيرًا على استخدامها zoom:1?

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

المحلول

المشكلة التي تقاتل معها هي IE hasLayout القضية. هنا هي مقالة جيدة ونظرة عامة عليها التي تؤدي أيضًا إلى "وجود تخطيط" في IE.

لا أعرف أي آثار جانبية zoom: 1 إلا أنه ليس W3C صالح. أنا متأكد من أنني أستخدمها بنفسي في بعض المشاريع.

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

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

نصائح أخرى

على العكس من ذلك ، هناك جوانب سلبية نهائية لاستخدام التكبير: 1 ، حتى في IE. عادةً ما أقوم بتضمينها فقط في أوراق الأنماط فقط ، لكن حتى في الأيام القليلة الماضية ، تصارعت مع بعض مشكلات التخطيط لأنني اخترت استخدام *{Zoom: 1 ؛}

- الوجبات الجاهزة- استخدمها على أساس محدود. إذا كنت تهتم فقط بـ IE7+، فيمكنك استخدام Min-Height: 1 ٪ ، والتي لها نفس التأثير المتمثل في تشغيل Haslayout

اعتبارًا من نوفمبر 2012 ، من الأرجح أن يصبح Zoom يومًا ما CSS صالحًا ، على الرغم من أنه يبدو أن استخدامه في السياق أعلاه لا ينبغي أن يكون له أي آثار جانبية سلبية.

نرى: http://dev.w3.org/csswg/css-device-adapt/ أو http://www.w3.org/tr/css-device-adapt/

Zoom مدعوم فقط من قبل IE ، لذلك ليس في الوقت الراهن. من المحتمل أن يكون هناك خاصية مستقبلية تسمى Zoom والتي يمكن أن تعبث الأمور ، ولكن هذا غير مرجح بسبب الاستخدام الواسع النطاق.

display: inline-block; يفعل نفس الشيء ، ولكن هو رمز قياسي.

في ال نادر الحالة تخلق مشكلة ، يمكنك استخدامها

display: block !important; /* or inline, etc. */ 
display: inline-block; /* in this order */

لإرسالها فقط إلى الإصدارات القديمة من Internet Explorer التي تكون مفيدة لها.

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