Firefox 97

Свежая версия веб-браузера Firefox 97 предлагает интересные новшества CSS.

CSS

  • Поддержка каскадных слоёв (cascade layers). Правило @layer задаёт каскадный слой, стили из которого можно импортировать с помощью правил @import с исполь­зованием функции layer(). Правила внутри отдельно взятого каскадного слоя каска­дируются изоли­рованно от стилей вне каскадного слоя. См. также статьи «Hello, CSS Cascade Layers» от автора книги «Отладка CSS» («Debugging CSS») и «Getting Started With CSS Cascade Layers» от Стефани Эклз.
  • Поддержка правил @scroll-timeline и свойства animation-timeline, позволяющих задать анимацию, привязанную к позиции прокрутки вместо времени.
  • Поддержка свойства scrollbar-gutter, позволяющего зарезер­вировать пространство для полос прокрутки. Это даёт возможность предот­вратить изменение расположения элементов в прокру­чиваемой области при появлении/пропадании полос прокрутки вследствие динамического изменения объёма содержимого прокру­чиваемого элемента.

    • При значении auto (по умолчанию) пространство под полосу прокрутки выделяется только при наличии таковой.
    • Значение stable включает статическое резервирование пространства для полосы прокрутки вне зависимости от её наличия.
    • Необязательный модификатор both-edges, который можно указать через пробел после stable, дополни­тельно резервирует пространство на стороне элемента, противо­положной той, где может появиться полоса прокрутки.

    Для overlay scrollbars — полос прокрутки, отрисовываемых поверх содержимого элемента и временно появляющихся только во время прокрутки (например, на мобильных устройствах), пространство не резервируется.

  • Поддержка единиц cap и ic. Единица cap соответствует номинальной высоте заглавных букв в конкретном шрифте. Единица ic привязана к размеру символа 水 (японское «вода», U+6C34) в конкретном шрифте.
  • Свойство color-adjust пере­именовано в print-color-adjust в соот­ветствии с текущей версией специ­фикации. Свойство color-adjust объявлено нереко­мендуемым (deprecated). Свойство управляет оптимизациями, которые может применять браузер при выводе страницы на печать.

    • При значении economy (по умолчанию) браузер может оптимизировать страницу по своему усмотрению, например, отключая по умолчанию печать фона для экономии тонера или чернил.
    • Значение exact пред­писывает браузеру точно следовать заданному оформлению страницы, например, сохраняя лёгкость восприятия таблицы, строки которой разделяются только чередованием их фоновых цветов.
  • Поддержка использования CSS-свойства d в векторных изображениях SVG, функционально соответст­вующего одно­имённому атрибуту. В качестве значения принимает path() или none. С помощью функции path() описывается форма векторной фигуры.

JavaScript, WebExtensions

  • Теперь можно задать причину отмены действия при использовании методов AbortController.abort() или AbortSignal.abort(). Причина будет затем доступна через свойство AbortSignal.reason. По умолчанию используется исключение (DOMException) "AbortError". Параллельно добавлен метод AbortSignal.throwIfAborted(), позволяющий проверить, был ли сигнал прерван, и сгене­рировать исключение. Это призвано облегчить обработку сигналов отмены (abort signals), когда нет возможности передать сигнал в подлежащий отмене метод (abortable method).
  • Поддержка массива строк в качестве значения параметра cookieStoreId в browser.tabs.query() в расширениях. Это позволяет искать вкладки сразу по нескольким идентификаторам хранилищ cookie (контейнеров).
  • Поддержка cookieStoreId в browser.contentScripts.register(). Это позволяет расширениям привязывать контент-скрипты к конкретным контейнерам.

Прочее

  • Поддержка полос прокрутки в стиле Windows 11.
  • Улучшен подход к загрузке системных шрифтов в macOS, благодаря чему ускорилось пере­ключение между вкладками в некоторых случаях.

См. также