CSS تودرتو به روز رسانی نحو آرام

تودرتوی Lookahead در Chrome 120 فعال شد.

آدام آرگیل
Adam Argyle

در اوایل سال جاری کروم تودرتوی CSS را در 112 ارسال کرد و اکنون در هر مرورگر اصلی وجود دارد.

پشتیبانی مرورگر

  • 120
  • 120
  • 117
  • 17.2

منبع

با این حال، یک الزام سختگیرانه و بالقوه غیرمنتظره برای نحو وجود داشت که در اولین مقاله از نمونه‌های تودرتوی نامعتبر فهرست شده است. این مقاله بعدی به تغییراتی در مشخصات و کروم 120 می پردازد.

نام تگ عناصر تودرتو

یکی از شگفت‌انگیزترین محدودیت‌ها در اولین نسخه سی‌اس‌اس تودرتو، ناتوانی در قرار دادن نام تگ‌های عناصر خالی بود. این ناتوانی حذف شده است، و تودرتو CSS زیر را معتبر می کند:

.card {
  h1 {
    /* this is now valid! */
  }
}

/* the same as */
.card {
  & h1 {
    /* this is now valid! */
  }
}

وقتی لیست‌های مرتب، نامرتب یا با تعریف تودرتو قرار می‌گیرند، واقعاً شیرین می‌شود:

dl {
  dt {
    /* dl dt styles */
  }

  dd {
    /* dl dd styles */
  }
}

چه چیزی برای اجازه دادن به این تودرتو تغییر کرد؟

این تا حد زیادی به لطف برخی کاوش‌ها و نمونه‌سازی‌های مهندسین Chrome، همراه با تمایل جامعه و گروه کاری CSS است.

تردید زیادی وجود داشت که تجزیه کننده CSS را می توان آموزش داد تا بین نام برچسب ( div ) و نام ویژگی ( visibility ) تمایز قائل شود، زیرا تجزیه کننده در حال حاضر مفهومی از نگاه کردن به آینده ندارد. برای درک اینکه نشانه یک ویژگی است، مرورگر باید به جلو نگاه کند و ببیند که آیا a : از نشانه ناشناخته پیروی می کند یا خیر. بنابراین، در مشخصات اصلی، از نماد & برای نشان دادن این موضوع به مرورگر استفاده می‌شود که آنچه در زیر می‌آید تودرتو است، نه یک ویژگی و مقدار معمولی CSS.

خوشبختانه، یک مهندس کشف کرد که وقتی تجزیه کننده نتوانست انتخابگر تودرتو را به عنوان یک ویژگی مطابق با عبور مصرف معمولی تجزیه کند، می‌توان آن را در حالتی راه‌اندازی کرد که به جای ویژگی، یک انتخابگر را در نظر گرفت. تجزیه از سر گرفته می‌شود، و تودرتو به‌عنوان تودرتو انتخاب‌کننده شناخته می‌شود. به اندازه کافی سریع و قابل اعتماد است که به اندازه کافی برای آزاد کردن نحو تعیین شده است.