CSS Gradient Generator
Build linear, radial and conic gradients and copy the CSS.
تصميم
بناء تخطيطات CSS بصريًا ونسخ الشيفرة.
هذه أهم نقطة عملية لأي مطوّر يبني واجهة عربية.
التخطيط المبني على left وright وmargin-left يحتاج ملف أنماط ثانيًا معكوسًا عند التحويل إلى العربية. وهذا الملف الثاني يتأخّر عن الأول باستمرار، وينتهي بأن يصبح مصدر أخطاء دائم.
والخصائص المنطقية تحلّ المسألة من أصلها، لأنها تصف الموضع بالنسبة إلى اتجاه الكتابة لا إلى الشاشة.
| الخاصية الفيزيائية | البديل المنطقي | في RTL تعني |
|---|---|---|
| margin-left | margin-inline-start | الهامش الأيمن |
| padding-right | padding-inline-end | الحشو الأيسر |
| left: 0 | inset-inline-start: 0 | يمين الحاوية |
| border-left | border-inline-start | الحد الأيمن |
| text-align: left | text-align: start | محاذاة لليمين |
| width | inline-size | العرض، ويتبع المحور |
ومع dir="rtl" على العنصر الجذر، ينعكس التخطيط المبني بالخصائص المنطقية بالكامل دون سطر واحد إضافي — بما في ذلك ترتيب عناصر Flexbox واتجاه أعمدة Grid.
والاستثناءات قليلة وتستحق الانتباه: الأيقونات الاتجاهية كالأسهم لا تنعكس تلقائيًا وتحتاج قلبًا يدويًا، والشعارات لا تُقلب، والرسوم البيانية ذات المحاور الزمنية عادةً لا تُعكس.
الجواب المختصر: صفّ أو عمود واحد بـFlexbox، وشبكة حقيقية بـGrid.
فFlexbox يعمل على محور واحد، وهو المناسب لشريط تنقّل أو صفّ أزرار أو بطاقة فيها أيقونة ونص متجاوران — حيث تُشتقّ الأحجام من المحتوى.
وGrid يعمل في بُعدين، وهو المناسب لتخطيط الصفحة وشبكات البطاقات والنماذج ذات التسمية والحقل في عمودين — حيث يجب أن تتوافق المحاذاة عبر الصفوف.
وفي أي واجهة حقيقية يوجد الاثنان: Grid لبنية الصفحة، وFlexbox داخل المكوّنات.
نمط واحد يحلّ أكثر حالات التخطيط شيوعًا دون أي نقطة توقّف:
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
أي: أكبر عدد من الأعمدة يتّسع، كل عمود 240 بكسل على الأقل، والباقي يُوزَّع بالتساوي. فيعطي عمودًا واحدًا على الهاتف وعمودين أو ثلاثة على اللوح وخمسة على شاشة كبيرة.
والفرق بين auto-fit وauto-fill: الأول يجعل العناصر الموجودة تملأ المساحة، والثاني يُبقي أعمدة فارغة. فثلاث بطاقات في نافذة عريضة تتمدّد مع auto-fit وتبقى ضيّقة على جانب واحد مع auto-fill.
وفي RTL يبدأ الملء من اليمين تلقائيًا — دون أي تعديل، لأن Grid يتبع اتجاه الكتابة.
استخدم الخصائص المنطقية بدل left وright، وضع dir="rtl" على الجذر. عندها لا تحتاج ملف أنماط ثانيًا.
margin-inline-start. وهي تعني الهامش الأيسر في LTR والأيمن في RTL.
لا. الأسهم والأيقونات الاتجاهية تحتاج قلبًا يدويًا، والشعارات لا تُقلب أصلًا.
Flexbox لمحور واحد، وGrid لبعدين. وفي الواقع يُستخدم Grid للصفحة وFlexbox داخل المكوّنات.
repeat(auto-fit, minmax(240px, 1fr)). وتعمل في الاتجاهين دون تعديل.
لا. كل شيء يجري في هذه الصفحة.