Veja o que é necessário saber:
- Declare estilos específicos em um componente com a regra css
@scope
. - Há um novo recurso de mídia:
prefers-reduced-transparency
. O DevTools tem melhorias no painel Sources.
E tem muito mais.
Meu nome é Adriana Jara. Vamos conferir as novidades para desenvolvedores no Chrome 118.
regra CSS @scope
.
A regra @scope
at-rule permite que os desenvolvedores definam regras de estilo para uma determinada raiz de escopo e estilizem elementos de acordo com a proximidade dessa raiz.
Com @scope
, é possível substituir estilos com base na proximidade, o que é diferente dos estilos CSS usuais que são aplicados com base apenas na ordem da fonte e na especificidade. No exemplo a seguir, há dois temas.
<div class="lightpink-theme">
<a href="#">I'm lightpink!</a>
<div class="pink-theme">
<a href="#">Different pink!</a>
</div>
</div>
sem escopo, o estilo aplicado é o último declarado.
.pink-theme a { color: hotpink; } .lightpink-theme a { color: lightpink; }
Com o escopo, é possível ter elementos aninhados, e o estilo aplicado é o do ancestral mais próximo.
@scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
O escopo também evita que você escreva nomes de classes longos e complicados, além de facilitar o gerenciamento de projetos maiores e evitar conflitos de nomenclatura.
<div class="first-container"> <h1 class="first-container__main-title"> I'm the main title</h1> </div> <div class="second-container"> <h1 class="second-container__main-title"> I'm the main title, but somewhere else</h1> </div>
.first-container__main-title { color: grey; } .second-container__main-title { color: mediumturquoise; }
<div class="first-container"> <h1 class="main-title"> I'm the main title</h1> </div> <div class="second-container"> <h1 class="main-title"> I'm the main title, but somewhere else</h1> </div>
@scope(.first-container){ .main-title { color: grey; } } @scope(.second-container){ .main-title { color: mediumturquoise; } }
Com o escopo, também é possível estilizar um componente sem definir o estilo de certos elementos aninhados. De uma forma, você pode ter “buracos” em que o estilo com escopo não se aplica.
Como no exemplo a seguir, podemos aplicar estilo ao texto e excluir controles ou vice-versa.
<div class="component">
<div class="purple">
<h1>Drink water</h1>
<p class="purple">hydration is important</p>
</div>
<div class="click-here">
<p>not in scope</p>
<button>click here</button>
</div>
<div class="purple">
<h1 class="purple">Exercise</h1>
<p class="purple">move it move it</p>
</div>
<div class="link-here">
<p>Excluded from scope</p>
<a href="#"> link here </a>
</div>
</div>
@scope (.component) to (.click-here, .link-here) {
div {
color: purple;
text-align: center;
font-family: sans-serif;
}
}
Confira o artigo Limitar o alcance dos seletores com a regra @scope do CSS para mais informações.
prefers-reduced-transparency
recurso de mídia
Usamos consultas de mídia para oferecer experiências que se adaptam às preferências e condições do dispositivo do usuário. Esta versão do Chrome adiciona um novo valor que pode ser usado para adaptar a experiência do usuário: prefers-reduced-transparency
.
Um novo valor que você pode testar com consultas de mídia é prefers-reduced-transparency
, que permite que os desenvolvedores adaptem o conteúdo da Web à preferência selecionada pelo usuário para reduzir a transparência no SO, como a configuração "Reduzir transparência" no macOS. As opções válidas são reduce
ou no-preference
.
.translucent {
opacity: 0.4;
}
@media (prefers-reduced-transparency) {
.translucent {
opacity: 0.8;
}
}
E você pode conferir como fica com o DevTools:
Para mais informações, consulte a documentação prefers-reduced-transparency.
Correção: uma versão anterior deste artigo se referia a um novo recurso de mídia scripting
incluído nesta versão. Na verdade, será na versão 120.
Melhorias no painel "Sources" do DevTools
O DevTools tem as seguintes melhorias no painel Origens: o recurso espaço de trabalho melhorou a consistência, principalmente renomeando o painel Origens > Sistema de arquivos para Espaço de trabalho, além de outros textos da interface. O Origens > Espaço de trabalho também permite sincronizar as mudanças feitas no DevTools diretamente nos arquivos de origem.
Além disso, agora é possível reordenar os painéis no lado esquerdo do painel Origens arrastando e soltando. O painel Origens agora pode mostrar JavaScript inline nos seguintes tipos de script: module
, importmap
, speculationrules
e destacar a sintaxe dos tipos de script importmap
e speculationrules
, que contêm JSON.
Confira Novidades do Chrome DevTools para saber mais sobre as atualizações do Chrome DevTools 118.
E muito mais.
É claro que há muito mais.
A API WebUSB agora está exposta a service workers registrados por extensões do navegador, permitindo que os desenvolvedores usem a API ao responder a eventos de extensão.
Para ajudar os desenvolvedores a reduzir a fricção nos fluxos de solicitação de pagamento, removemos a exigência de ativação do usuário em
Payment Request
eSecure Payment Confirmation
.O ciclo de lançamentos do Chrome está ficando mais curto. As versões estáveis serão lançadas a cada três semanas, começando com o Chrome 119, que será lançado em três semanas.
Leitura adicional
Isso inclui apenas alguns destaques importantes. Confira as mudanças adicionais no Chrome 118 nos links abaixo.
- Novidades no Chrome DevTools (118)
- Remoção e descontinuação de recursos do Chrome 118
- Atualizações do ChromeStatus.com para o Chrome 118
- Lista de alterações do repositório de origem do Chromium
- Calendário de lançamentos do Chrome
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 é Adriana Jara, e assim que o Chrome 119 for lançado, vou estar aqui para contar as novidades do Chrome.