سؤال

W3 يحدد أن أربعة قواعد CSS فقط يسمح لأعمدة الجدول (مع <col> العنصر) - الحدود والخلفية والعرض والوضوح.

هل يعرف أحد الأسباب وراء هذا القرار؟ إذا كنت تستطيع أن يكون لديك حدود وخلفيات، فلماذا لا الخطوط والألوان؟

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

المحلول

يشرح إيان هيسي بالتفصيل هنا: سر لماذا تنطبق أربع خصائص فقط على أعمدة الجدول. وبعد اقتباس ذات الصلة:

يعتمد لون النص على خاصية "اللون" لعنصرها. ما لم يتم تحديده، فإن خاصية "اللون" (أساسا) الإعدادات الافتراضية "للهث"، مما يعني "أن تأخذ قيمة العنصر الأصل".

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

ماذا عن العمود؟ حسنا، العمود ليس أحد أسلاف الخلية، لذلك لا يحصل أبدا على مظهر! وهنا تكمن المشكلة.

نصائح أخرى

مجرد طعنة برية في الظلام بناء على فهمي المحدود:

أعتقد أن التصميم عبر العناصر ذات الصلة العمود مقيدة لأنه على الرغم من <col> و <colgroup> تمثل أعمدة الخلايا، فإنه لا يحتوي فعلا (أنها تحتوي بالفعل على <tr>س). مع هذا يأتي مشكلات ذات الأسبقية والخصوصية والمتوسمة (نظرا لأن المتتالية لا يمكن القيام به إلا بين عناصر حاوية) - عند قواعد النمط المتضاربة من <tr> و <col> (الذي سيكون هو نفس المستوى في التسلسل الهرمي المتعدد الميراث) يحدث - ما الذي يجب أن تستخدم الخلية بالفعل؟

لمعرفة سبب السماح بحيث يتم السماح بالذين من سمات الأنماط المعينة: لا فكرة.

كلمة واحدة: الغموض. الخلايا يجب أن تكون أطفالا من الصفوف؛ لن يكون الجدول خلاف ذلك. ولكن لا يوجد عمود ينحدر من. استخدام colspan يعني أن خلية واحدة يمكن أن تكون في عمودين. بدلا من محاولة التوصل إلى بعض الطرق المربكة، لماذا لا تدع المطور فقط class في كل خلية nth؟

إذا نظرت عن كثب إلى المواصفات التي ترتبط بها، سترى محاولات في دقة الغموض. ال width خاصية تحدد الحد الأدنى؛ ال background يأخذ الخلفية إلى الصف والخلايا؛ و border يشير إلى "خوارزمية حل النزاعات". السبب الوحيد هناك حتى خوارزمية ل border هو لأنه مفهوم بشكل معقول من يجب أن "الفوز" (انظر الخوارزمية للحصول على التفاصيل). ولكن هل يمكن أن تتخيل محاولة معرفة ذلك color أو font يجب "الفوز"؟

ربما لا يتعين بالضرورة أن تعرض كل صف في الجدول خلية لعمودك (على سبيل المثال بسبب Colspan). أي عمود يجب أن يرثه الخلايا بأسلوبه؟ مجرد تخمين.

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