لماذا تستخدم عرض HTML/CSS بنسبة 99.9% بدلاً من 100%؟
سؤال
لقد رأيت العديد من المطورين يكتبون أنماطًا مضمنة بتنسيق HTML أو CSS تصل إلى 99.9% في الأماكن التي قد أستخدم فيها 100%.هل هناك أي سبب وجيه لاستخدام 99.9%؟هل لديها أي فرق فعال من 100٪؟
قم بالتحرير لإعادة تغريد سؤال MSalters الجيد جدًا: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%?
أعتقد أنه على حق، إذا كنت ستذهب مع dirty hack
يجب عليك استخدام 99.99%، هل يختلف أحد؟
مراجع إضافية:
- قادني تعليق @Michael Stum حول خاصية التكبير/التصغير في CSS إلى هذا الرابط المثير للاهتمام حول تشغيل hasLayout باستخدام
zoom
: http://www.bennadel.com/blog/1354-The-Power-Of-ZOOM-Fixing-CSS-Issues-In-Internet-Explorer.htm. - عرض @Andrew Dunn هذا الرابط الشامل بشكل لا يصدق على hasLayout: http://www.satzansatz.de/cssd/onhavinglayout.html
المحلول
ال hasLayout
منشأه
إنه اختراق قذر يستخدم لتعيين IE محددة hasLayout
خاصية العنصر إلى صحيح. ال hasLayout
خاصية "تحدد كيفية رسم العناصر وربط محتواها ، والتفاعل مع العناصر الأخرى وترتبط بها ، والتفاعل مع أحداث التطبيق/المستخدم ونقلها." إعطاء عنصر layout
هي وسيلة سهلة لإصلاح العديد من الأخطاء ذات الصلة بالتخطيطات التي تظهر في Internet Explorer.
ماذا مع 99.9 ٪؟
تحديد العرض إلى 99.9 ٪ هو طريقة واحدة لتحفيزه. السبب في أنك ستستخدم 99.9 ٪ هو أن التخطيط يتم إعطاؤه لعنصر ما إذا width
تم تعيينه على أي شيء آخر غير auto
. يمنع ضبطه على نسبة مئوية الحاجة إلى استخدام عرض ثابت.
بعد بعض الاختبارات في JSFiddle ، توصلت إلى استنتاج مفاده أنه ليس من الضروري حقًا استخدام عرض 99.9 ٪ ، باستخدام عرض 100 ٪ بنفس القدر. http://jsfiddle.net/3qfjw/2/ (أي فقط). يبدو أن الإعداد width
إلى 99.9 ٪ قد يكون أ مفهوم خاطئ شائع الذي عالق .. انشر كلمة الناس.
أساليب أخرى
يمكنك أيضا تشغيل hasLayout
استخدام zoom: 1;
على الرغم من أن هذه هي الطريقة المفضلة للكثيرين ، حيث إنها لا تعبث بميزات أخرى متعلقة بالأسلوب لعنصر ما ، إلا أنها رمز CSS غير صالح ، وهو ليس خيارًا لاستخدامه في بعض المطورين.
قراءة متعمقة
لمزيد من الطرق للتشغيل hasLayout
الدفع: http://www.satzansatz.de/cssd/onhavinglayout.html
لمزيد من المعلومات حول hasLayout
خاصية تحقق من مقالة MSDN في hasLayout
http://msdn.microsoft.com/en-us/library/bb250481(vs.85).aspx (هذه في الواقع قراءة رائعة ، الكثير من المعلومات التفصيلية)
نصائح أخرى
انها حقيقة width
من أي شيء سوى auto
و zoom
الزناد hasLayout، و zoom
هي الخاصية/القيمة الأكثر مرونة نظرًا لأنها لا تعبث بالعرض ولكن لا أعتقد أن هذا هو السبب وراء رؤيتك للمطورين يستخدمون 99.9%.
في بعض الحالات العائمة، من الضروري ألا يصل العرض المدمج للعوامات إلى 100% (إذا تم تحديده بنسب مئوية) لأن IE6 يحسب ذلك بشكل غير صحيح على أنه يتجاوز 100% وعادةً ما ينخفض العائم الأخير.
الحل هو إما تحديد -1 بكسل للهامش الأيمن لـ IE فقط أو جعل المجموع 99.99%.
لقد قمت بتوثيق الخلل هنا.لذا، سواء كان الأمر مرتبطًا بما كنت تراه أم لا، نأمل أن يساعد رابط الخطأ أي شخص يواجهه.