6 مقتطفات CSS يجب أن يعرفها كل مطور واجهة أمامية في عام 2023

توفّر أداة Toolbelt خدمة CSS فعّالة وفعالة وثابتة والتي يمكنك استخدامها اليوم.

أعتقد أنّ كل مطوّر للواجهة الأمامية يجب أن يعرف كيفية استخدام طلبات البحث في الحاوية، وإنشاء تجربة للانتقال عند التمرير، وتجنُّب position: absolute باستخدام الشبكة، وضرب دائرة بسرعة واستخدام طبقات متتالية، والوصول إلى المزيد من الطلبات بمعدل أقل من خلال الخصائص المنطقية. فيما يلي نظرة عامة سريعة على كل من هذه التوقعات.

1. طلب بحث عن حاوية

إنّ ميزة CSS الأكثر طلبًا لمدة 10 سنوات على التوالي مستقرة الآن في مختلَف المتصفحات، ويمكن استخدامها مع طلبات البحث ذات العرض المخصّص في عام 2023.

.panel {
  container: layers-panel / inline-size;
}

.card {
  padding: 1rem;
}

@container layers-panel (min-width: 20rem) {
  .card {
    padding: 2rem;
  }
}
@container

دعم المتصفح

  • Chrome: 105.
  • ‫Edge: 105
  • Firefox: 110
  • Safari: 16-

المصدر

container

توافق المتصفّح

  • Chrome: 105
  • ‫Edge: 105
  • Firefox: 110.
  • ‫Safari: 16

المصدر

2. محاذاة مواضع التمرير

تُميّز تجارب الانتقال السلس للأعلى أو للأسفل تجربة تطبيقك عن غيرها، والانتقال المفاجئ للأسفل أو للأعلى هو الطريقة المثالية لمطابقة تجربة المستخدم في الانتقال للأعلى أو للأسفل في النظام مع توفير نقاط توقف مفيدة.

.snaps {
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
}

.snap-target {
  scroll-snap-align: center;
}

.snap-force-stop {
  scroll-snap-stop: always;
}

تعرَّف على مزيد من المعلومات عن إمكانات ميزة CSS هذه في هذه المجموعة الكبيرة والملهمة من مشاريع Codepen التي تتضمّن حوالي 25 عرضًا توضيحيًا.

scroll-snap-type

توافق المتصفّح

  • Chrome: 69
  • ‫Edge: 79
  • Firefox: 99.
  • ‫Safari: 11

المصدر

scroll-snap-align

توافق المتصفّح

  • Chrome: 69
  • ‫Edge: 79
  • Firefox: 68
  • ‫Safari: 11

المصدر

scroll-snap-stop

توافق المتصفّح

  • Chrome: 75
  • ‫Edge: 79
  • Firefox: 103
  • Safari: 15.

المصدر

overscroll-behavior

دعم المتصفح

  • Chrome: 63
  • Edge: 18.
  • Firefox: 59.
  • ‫Safari: 16

المصدر

3- كومة شبكية

تجنَّب الموضع المطلق باستخدام شبكة CSS واحدة الخلية. بعد تجميعها فوق بعضها، استخدِم سمتَي justify وalign لتحديد مواضعها.

.pile {
  display: grid;
  place-content: center;
}

.pile > * {
  grid-area: 1/1;
}
grid

دعم المتصفح

  • Chrome: 57
  • الحافة: 16.
  • Firefox: 52
  • ‫Safari: 10.1

المصدر

4. دائرة سريعة

هناك الكثير من الطرق لإنشاء دوائر في CSS، ولكن هذه هي الطريقة الأكثر بساطة.

.circle {
  inline-size: 25ch;
  aspect-ratio: 1;
  border-radius: 50%;
}
aspect-ratio

توافق المتصفّح

  • Chrome: 88
  • الحافة: 88.
  • Firefox: 89
  • Safari: 15.

المصدر

5- التحكّم في الأسعار المتغيرة باستخدام @layer

يمكن أن تساعد طبقات السلسلة المتصاعدة في إدراج الأسعار المتغيرة التي تم اكتشافها أو إنشاؤها لاحقًا في المكان المناسب في السلسلة المتصاعدة مع المجموعة الأصلية من الأسعار المتغيرة.

/* file buttons.css */
@layer components.buttons {
  .btn.primary {
    
  }
}

بعد ذلك، في ملف مختلف تمامًا، تم تحميله في وقت عشوائي آخر، أضِف صيغة جديدة إلى طبقة الزر كما لو كانت موجودة مع بقية الصيغ في هذه المدّة الكاملة.

/* file video-player.css */
@layer components.buttons {
  .btn.player-icon {
    
  }
}
@layer

توافق المتصفّح

  • Chrome: 99.
  • Edge: 99.
  • Firefox: 97
  • ‫Safari: 15.4

المصدر

6- حفظ عدد أقل من الخصائص وزيادة مدى الوصول إلى الجمهور باستخدام الخصائص المنطقية

احفظ هذا نموذج المربّع الجديد جيدًا، ولن داعي للقلق بعد الآن بشأن تغيير الحشو أو الهامش الأيمن والأيسر في أوضاع الكتابة واتجاهات المستندات الدولية. يمكنك تعديل الأنماط بدءًا من الخصائص المادية إلى الأنماط المنطقية مثل padding-inline وmargin-inline وinset-inline، وسيجري المتصفّح الآن عملية التعديل.

button {
  padding-inline: 2ch;
  padding-block: 1ch;
}

article > p {
  text-align: start;
  margin-block: 2ch;
}

.something::before {
  inset-inline: auto 0;
}
padding-inline

توافق المتصفّح

  • Chrome: 87.
  • ‫Edge: 87
  • Firefox: 66.
  • Safari: الإصدار 14.1.

المصدر

margin-block

توافق المتصفّح

  • Chrome: 87
  • ‫Edge: 87
  • Firefox: 66.
  • ‫Safari: 14.1

المصدر

inset-inline

توافق المتصفّح

  • Chrome: 87
  • ‫Edge: 87
  • Firefox: 63
  • ‫Safari: 14.1

المصدر