Novidades no Chrome 130

Veja o que é necessário saber:

Sou Pete LePage. Vamos conferir as novidades para desenvolvedores no Chrome 130.

Document Picture-in-Picture

A API picture-in-picture é ótima quando você quer abrir um vídeo em uma guia do navegador para poder acompanhar o conteúdo enquanto interage com outros sites ou aplicativos. Mas ele só faz vídeos.

Janela picture-in-picture do Spotify

A API Picture-in-picture de documentos elimina essa restrição, permitindo criar uma janela picture-in-picture em que você tem controle sobre o conteúdo. Ele é ótimo para coisas como players de vídeo personalizados, videoconferências e apps de produtividade. Adoro o que o Spotify fez com ele no player da Web. Uma janela com a arte da música atual, controles de reprodução e a possibilidade de adicionar a música aos favoritos.

Para usar, solicite uma nova janela de imagem em imagem do documento. O promise retornado é resolvido com um objeto JavaScript de janela Picture-in-Picture. Em seguida, use essa opção para adicionar seu conteúdo à janela.

async function openDPiP() {
  const player = document.querySelector("#player");
  const pipWindow = await documentPictureInPicture
.requestWindow();
  pipWindow.document.body.append(player);
}

pipButton.addEventListener('click', openDPiP);

Com a nova propriedade preferInitialWindowPlacement, é possível pedir para o Chrome sempre abrir a janela picture-in-picture na posição e no tamanho padrão, em vez de reutilizar a posição ou o tamanho da janela anterior.

// Open a Picture-in-Picture window in its default position / size.
const pipWindow = await documentPictureInPicture.requestWindow({
  preferInitialWindowPlacement: true,
});

Confira a postagem de François Picture-in-Picture para qualquer elemento para mais detalhes.

Declarações aninhadas do CSS

O aninhamento de CSS permite seletores mais curtos, leitura mais fácil e mais modularidade ao aninhar regras dentro de outras. O aninhamento CSS está disponível na versão de referência, e está disponível há quase um ano.

Alguns casos extremos não funcionaram como esperado. Por exemplo, com o bloco de CSS a seguir, você esperaria que a cor de plano de fundo fosse verde, já que ela vem por último, mas ela é vermelha.

.foo {
    width: fit-content;

    @media screen {
        background-color: red;
    }

    background-color: green;
}

Para corrigir casos extremos como esse, o grupo de trabalho do CSS introduziu a regra de declarações anexadas, que é implementada no Chrome 130. Agora, esse mesmo bloco de CSS resulta em um plano de fundo verde, como esperado. Se você estava intercalando declarações simples com regras aninhadas, verifique seu código.

Confira o artigo de Bramus O aninhamento de CSS melhora com CSSNestedDeclarations para uma explicação mais detalhada.

box-decoration-break

A propriedade CSS box-decoration-break permite especificar como os fragmentos de um elemento precisam ser renderizados quando divididos em várias linhas, colunas ou páginas.

Sem quebras de linha

Por exemplo, esse elemento fica ótimo quando tudo está em uma linha.

Quebras de linha com fatias

Quando o conteúdo é dividido em várias linhas, decorações como plano de fundo, sombra de caixa, borda e assim por diante são cortadas, criando um visual drástico.

Quebras de linha com clone

Ao adicionar box-decoration-break: clone, cada fragmento é renderizado de forma independente, criando uma aparência muito mais agradável.

Embora não seja exatamente a Padrão, ela está disponível no Chrome e no Firefox e tem o prefixo do fornecedor no Safari.

.bdb-clone {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

Confira os documentos box-decoration-break no MDN e a postagem de Rachel A propriedade box-decoration-break no Chrome 130 para mais detalhes.

E muito mais.

Claro que há muito mais.

Leitura adicional

Isso abrange apenas alguns destaques importantes. Confira os links a seguir para ver outras mudanças no Chrome 130.

Inscrever-se

Para ficar por dentro das novidades, inscreva-se no canal do YouTube para desenvolvedores do Chrome e receba uma notificação por e-mail sempre que lançarmos um novo vídeo.

Meu nome é Pete LePage, e assim que o Chrome 131 for lançado, vamos informar as novidades do Chrome.