مثل النظام الشمسي، الجدول الدوري تم إنجازه باستخدام CSS مرات عديدة... ولكن لم يتم إنجازه بهذه البساطة، كما سأعرضه لك.
لنبدأ ببعض العلامات الدلالية الأساسية:
- H
نستخدم قائمة مرتبة،
لدينا بعد ذلك علامة
اسم العنصر هو اختصار لكلمة "اختصار" وهي لطيفة.
– هايدون بيكرينغ.
الآن، بدلاً من البحث في Google عن الكتلة الذرية لكل عنصر، نطلب فقط من ChatGPT ملء بقية العلامات. ونطلب منه أيضًا إضافة فئة مكونة من 3 أحرف إلى كل عنصر، مع الإشارة إلى نوع العنصر، على سبيل المثال. "الغاز النبيل" (class = "nbl") وما إلى ذلك - وحصلنا على 118 عنصرًا:
- H
- He
- Li
لا يبدو رائعًا بعد؛ إنها مجرد قائمة مرقمة تحتوي على اختصارات للعناصر.
1. H 2. He 3. Li etc.
دعونا نحول القائمة إلى شبكة مقاس 18 × 10:
ol { all: unset; container-type: inline-size; counter-reset: element; display: grid; font-size: 2cqi; gap: 1px; grid-template-columns: repeat(18, 1fr); grid-template-rows: repeat(10, 1fr); }
الآن، قمنا بتعيين كل
li { aspect-ratio: 1 / 1; background: #EEEEEE; counter-increment: element; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; padding: .25ch; transition: scale .125s ease-in; &::before { content: counter(element); } &::after { content: attr(data-mass); grid-area: 1 / 2 / 2 / 2; justify-self: end; } &::before, &::after { font-size: .33em; } }
قبل أن نرى ما أنجزناه، دعونا نطلب من ChatGPT إضافة بعض الألوان إلى فئات "نوع العنصر" التي أضافها مسبقًا. الآن نحصل على:
يبدو رائعًا، لكنه ليس تمامًا مثل الجدول الدوري الذي تعلمناه في المدرسة. دعونا نضيف بعض السحر الشبكة.
بالنسبة لـ الهيليوم، نريد أن يتم دفعه إلى العمود الأخير. وكما نعلم أن عرض الشبكة هو 18 عمودًا، فإننا ببساطة نضيف:
li { &:nth-of-type(2) { grid-column: 18; } }
نظرًا لأن هذه قائمة مرتبة، فإن قيمة النوع n ستتوافق دائمًا مع العدد الذري لكل عنصر. نريد نقل البورون والألومنيوم إلى العمود 13:
li { &:nth-of-type(5), &:nth-of-type(13) { grid-column: 13; }دعونا نتحقق من ذلك:
تحسين، بالتأكيد، ولكن بما أن عمود الشبكة يدفع الشبكة للأمام فقط، فكيف يمكننا إخراج العناصر 58-71 و90-103 (اللاتينيدات والأكتينيدات) تمامًا
خارج تدفق الشبكة ] وأضفهم إلى هذين الصفين الموجودين أسفل الشبكة الرئيسية؟
لذلك، يمكننا استخدام منطقة الشبكة، حيث نحدد:بداية الصف / بداية الصف / نهاية الصف / نهاية العمود
في حالتنا، سيكون:
li { &:nth-of-type(5), &:nth-of-type(13) { grid-column: 13; }و
الآن حصلنا على (للتوضيح، لقد قمت بتمكين مصور الشبكة أدوات التطوير):
لاحظ كيف أن عناصر الشبكةبعد العنصر الذي نقلناه خارج التدفق، تستمر في التدفق الرئيسي!
الجدول الدوري. أولاً، دعونا نضيف بعض HTML الأساسي:
المعادن القلوية
التسمية>
فيلدسيت>
نحن بحاجة إلى مجموعة من جافا سكريبت للتصفية، أليس كذلك؟ لا، يمكننا القيام بذلك باستخدام CSS عادي:
body:has(#alk:checked) li:not(.alk) {
العتامة: 0.2؛
}
body:has(#alk:checked) li:not(.alk) { opacity: 0.2; }لا تحتوي على
. فئة الك. كرر لجميع الأنواع والفئات.
دعونا نضغط على "أشباه الفلزات":
ما مدى روعة ذلك؟
بهذا ينتهي هذا البرنامج التعليمي... لكن انتظر... ماذا يفعل مرشح Heisenberg؟ لم يكن في قائمة المرشحات من ChatGPT؟
دعونا نضغط عليه:
... والآن أنت تعرف برنامجي التلفزيوني المفضل على الإطلاق!
تجريبي
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3