سؤال

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

يمكنني كتابة شيء مثل هذا:

<input type="text" style="display:block;" />

ولكن هل هو ضروري؟

هل يمكن لأي شخص أن يفسر من فضلك لماذا يعمل؟

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

المحلول

في الواقع، إنها ليست فعلا من العناصر، بل عناصر كتلة مضمنة. وبعد يتيح لك ذلك تحديد عرض العرض والارتفاع وغيرها من الخصائص الخاصة بالكتل دون الحاجة إلى كسر تدفق العناصر المضمنة. في متصفحات جيدة يمكنك استخدام "عرض: Inline-Block" على أي عنصر لتحقيق نفس الشيء.

نصائح أخرى

يقول المواصفات:

ينطبق على: جميع العناصر ولكن العناصر المضمنة غير محلها، صفوف الجدول، ومجموعات الصف

عناصر التحكم في النموذج، مثل الإدخال وحدد العناصر استبدالها العناصر المضمنة (يتم استبدال العنصر بتحكم نموذج - لا يتم عرض محتوى النص الخاص به مثل عنصر عادي).

نظرا لاستبدالها، فهي ليست غير محلها، لذلك تنطبق خاصية العرض.

العناصر النموذجية هي الأغنام السوداء لعالم HTML / CSS - هناك الكثير من الخصائص التي لا تعمل مثل عناصر HTML العادية.

في حين أنه لا يجيب على سؤال YOR، فقد تجد المناقشة التالية مثيرة للاهتمام: http://meyerweb.com/eric/thoughts/2007/05/15/formal-weirdness/

من الناحية الفنية، هذه خاصية التقديم التي هي خاصة بالمتصفح. في هذه المرحلة، يسمح لك معظم المتصفحات بتعيين العرض، لكنها غير مضمونة (خاصة على المتصفحات الأقدم) وهي بالتأكيد يمكن تشغيل في الأخطاء معها.

إن المواصفات W3 لعنصر الإدخال يجعلها عنصرا من الناحية الفنية. Inline-Block ليس حتى جزءا من المواصفات W3، إنها جزء من CSS2 (وبالتالي المتصفحات القديمة غير متناسقة).

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

قصة قصيرة طويلة، إنها آمنة دائما تقريبا، ليس فقط جزءا من أي المواصفات الرسمية التي رأيتها.

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

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