دو تابع جدید به نامهای sibling-index() و sibling-count() وارد دنیای توسعه وب شدهاند. این ابزارها به جای تکیه بر قوانین پیچیده :nth-child() یا راهحلهای سنگین جاوااسکریپتی، امکان شمارش و تشخیص موقعیت عناصر همسطح را مستقیماً درون CSS فراهم میکنند.
به لطف این قابلیت، پیادهسازی جلوههای محبوبی مانند انیمیشن آبشاری پلکانی تنها در یک خط کد امکانپذیر میشود؛ چه پنج عنصر داشته باشید و چه پنج هزار مورد. نتیجه، کدی سبکتر، خواناتر و بسیار کمتر مستعد خطاهای موقعیتیابی است.
این توابع مدیریت ساختارهای درختی، منوهای پویا، لیستهای طولانی و جدولهای داده را پایدارتر میکنند و استایلدهی را از منطقهای دستی و شکننده دور میسازند.
به نقل از کدیران معرفی این دو تابع نشان میدهد که CSS دیگر تنها زبانی برای توصیف ظاهر نیست، بلکه در حال تبدیل شدن به لایهای هوشمندتر برای مدیریت منطق ساختاری است. در گذشته، توسعهدهندگان برای شمارش عناصر یا ایجاد افکتهای متوالی، مجبور بودند به جاوااسکریپت متوسل شوند یا قوانین پیچیدهای بنویسند که با تغییر کوچکترین ساختار میشکستند. اما اکنون خود CSS میداند کدام عنصر در چه موقعیتی قرار دارد و چه تعداد همتای دیگر در کنارش وجود دارد.
این تغییر برای پروژههای مبتنی بر داده، بهویژه صرافیها، کیفپولها و داشبوردهای رمزارزی، بسیار راهبردی است. جایی که لیست تراکنشها، داراییها و سفارشها دائماً در حال رشد است، توانایی مدیریت پویا پنج یا پنج هزار عنصر بدون بازنویسی کد، یعنی رابط کاربری سریعتر و هزینه نگهداری پایینتر. در واقع، بخش مهمی از بار محاسباتی و هماهنگی از جاوااسکریپت برداشته میشود و سبکسازی دقیقتر در همان لایه استایل انجام میپذیرد.
البته پشتیبانی مرورگرها، ابزارهای تست و تجمیع کد هنوز باید بلوغ کنند تا این توابع بدون ریسک در پروژههای تولیدی استفاده شوند. همچنین تیمها باید الگوهای قدیمی و کتابخانههای مبتنی بر شمارش دستی را بازنگری کنند تا به تدریج به سمت این رویکرد طبیعیتر حرکت کنند. با این حال، روند آینده روشن است؛ CSS در حال جذب بخشی از منطقی است که روزی به جاوااسکریپت سپرده میشد و این توابع میتوانند به استانداردی جدید برای سیستمهای طراحی مقیاسپذیر تبدیل شوند. در میانمدت، انتظار داریم فریمورکها پشتیبانی خود را گسترش دهند و الگوی شمارش در همان لایه استایل به یک رویه معمول تبدیل شود.