— Brian Moeskau (@bmoeskau)
— Ted Patrick (@__ted__)
— Dave Rupert (@[email protected])
Released April 1
An all-in-one JavaScript runtime & toolkit designed for speed
Windows support!
Announced March 28
Remember Redis drops BSD license from last month?
Announced March 29
Discovered by Andres Freund, a Microsoft Postgres dev
Announced April 23
Bans employers from using noncompete clauses
* U.S. Chamber of Commerce is suing the FTC
Published April 24
ADA was enacted in 1990, but no digital rules until now
@scope
Enables you to select elements in specific DOM subtrees, targeting elements precisely without writing overly-specific selectors that are hard to override, and without coupling your selectors too tightly to the DOM structure.
Part of CSS Cascading and Inheritance Level 6
Format:
@scope (scope root) [to (scope limit)] {
rulesets
}
@scope
To target img
tags inside .article-body
:
body
└─ article.feature
├─ section.article-hero
│ ├─ h2
│ └─ img
└─ section.article-body
├─ h3
├─ img <--
├─ p
└─ figure
├─ img
└─ figcaption
You could do:
.feature > .article-body > img { ... }
@scope
Using @scope
:
@scope (.article-body) to (figure) {
img {
border: 5px solid black;
}
}
@scope
Apply locally via <style>
blocks:
<section class="article-body">
<style>
@scope {
img {
border: 5px solid black;
}
}
</style>
...
<section>
Provides style locality, e.g. for components
@scope
Almost* fully available today:
* As of Feb 9, it is on Mozilla's roadmap for Interop 2024
Native HTML + CSS popovers, no JS (or lib) required
The web should work without JavaScript.
Voyager 1 launched Sept 5, 1977
Quick stats:
Voyager 1 stopped communicating in November 2023
How did they fix it?
So, next time you are frustrated by your code...
Some JPL engineer has it much worse than you
Brian Moeskau