لماذا يتم السماح بأعمدة طاولة التصميم؟
-
12-09-2019 - |
سؤال
W3 يحدد أن أربعة قواعد CSS فقط يسمح لأعمدة الجدول (مع <col>
العنصر) - الحدود والخلفية والعرض والوضوح.
هل يعرف أحد الأسباب وراء هذا القرار؟ إذا كنت تستطيع أن يكون لديك حدود وخلفيات، فلماذا لا الخطوط والألوان؟
المحلول
يشرح إيان هيسي بالتفصيل هنا: سر لماذا تنطبق أربع خصائص فقط على أعمدة الجدول. وبعد اقتباس ذات الصلة:
يعتمد لون النص على خاصية "اللون" لعنصرها. ما لم يتم تحديده، فإن خاصية "اللون" (أساسا) الإعدادات الافتراضية "للهث"، مما يعني "أن تأخذ قيمة العنصر الأصل".
لذلك بالنسبة لبعض النص في خلية، يتم تحديد اللون بواسطة خاصية "اللون" للخلية، والتي يتم التقاطها من الصف، والذي مأخوذ من الجدول، والذي مأخوذ من أصل الجدول، وهلم جرا.
ماذا عن العمود؟ حسنا، العمود ليس أحد أسلاف الخلية، لذلك لا يحصل أبدا على مظهر! وهنا تكمن المشكلة.
نصائح أخرى
مجرد طعنة برية في الظلام بناء على فهمي المحدود:
أعتقد أن التصميم عبر العناصر ذات الصلة العمود مقيدة لأنه على الرغم من <col>
و <colgroup>
تمثل أعمدة الخلايا، فإنه لا يحتوي فعلا (أنها تحتوي بالفعل على <tr>
س). مع هذا يأتي مشكلات ذات الأسبقية والخصوصية والمتوسمة (نظرا لأن المتتالية لا يمكن القيام به إلا بين عناصر حاوية) - عند قواعد النمط المتضاربة من <tr>
و <col>
(الذي سيكون هو نفس المستوى في التسلسل الهرمي المتعدد الميراث) يحدث - ما الذي يجب أن تستخدم الخلية بالفعل؟
لمعرفة سبب السماح بحيث يتم السماح بالذين من سمات الأنماط المعينة: لا فكرة.
كلمة واحدة: الغموض. الخلايا يجب أن تكون أطفالا من الصفوف؛ لن يكون الجدول خلاف ذلك. ولكن لا يوجد عمود ينحدر من. استخدام colspan
يعني أن خلية واحدة يمكن أن تكون في عمودين. بدلا من محاولة التوصل إلى بعض الطرق المربكة، لماذا لا تدع المطور فقط class
في كل خلية nth؟
إذا نظرت عن كثب إلى المواصفات التي ترتبط بها، سترى محاولات في دقة الغموض. ال width
خاصية تحدد الحد الأدنى؛ ال background
يأخذ الخلفية إلى الصف والخلايا؛ و border
يشير إلى "خوارزمية حل النزاعات". السبب الوحيد هناك حتى خوارزمية ل border
هو لأنه مفهوم بشكل معقول من يجب أن "الفوز" (انظر الخوارزمية للحصول على التفاصيل). ولكن هل يمكن أن تتخيل محاولة معرفة ذلك color
أو font
يجب "الفوز"؟
ربما لا يتعين بالضرورة أن تعرض كل صف في الجدول خلية لعمودك (على سبيل المثال بسبب Colspan). أي عمود يجب أن يرثه الخلايا بأسلوبه؟ مجرد تخمين.