:open pseudo-class

Baseline 2026 recém disponível (Chrome 133, Firefox 136, Safari 26.5).

Chrome 133Edge 133Safari 26.5Firefox 136

Casa com `<details>`, `<dialog>`, `<select>` e inputs de data/cor enquanto estão abertos, substituindo os seletores de atributo `[open]` e dando a única forma de estilizar um `<select>` nativo aberto.

Details toggleBody text.
CSS
.fx-028 {
  font-family: system-ui;
  display: grid;
  gap: 12px;
  max-width: 260px
}
.fx-028 details,.fx-028 select {
  border: 1px solid #bbb;
  border-radius: 8px;
  padding: 8px
}
.fx-028 :open {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px #2563eb33
}
.fx-028 :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
HTML
<div class="fx-028">
  <details><summary>Details toggle</summary>Body text.</details>
  <select><option>One</option><option>Two</option></select>
</div>

Fallback: Use `details[open]` / `dialog[open]` junto para navegadores mais antigos; o estado aberto do `<select>` simplesmente não é estilizado.

Fonte: web.dev/blog/baseline-digest-may-2026

Prompt

Estilize estados abertos com a pseudo-classe `:open` (funciona em details, dialog, select e inputs com picker) em vez de seletores de atributo `[open]`. Mantenha `[open]` como seletor duplicado só se você suportar navegadores mais antigos que o Safari 26.5.