- Um problema comum em páginas da web é a mudança irritante no layout quando a barra de rolagem aparece ou
desaparece.
- Isso acontece porque os navegadores adicionam barras de rolagem dinamicamente, alterando a largura do
conteúdo da página.
- A propriedade CSS
scrollbar-gutter: stable
resolve esse problema, reservando
espaço para a barra de rolagem, independentemente do tamanho do conteúdo.
Como Funciona?
scrollbar-gutter: stable
:
- Reserva um espaço fixo para a barra de rolagem, mesmo quando ela não está visível.
- Isso evita que o conteúdo "salte" quando a barra de rolagem aparece ou desaparece.
Implementação
Aqui está como usar a propriedade:
.container {
scrollbar-gutter: stable;
}
- Aplique a propriedade ao contêiner que pode ter conteúdo rolável.
- Isso garante que o layout permaneça consistente, independentemente da visibilidade da barra de rolagem.
Benefícios
-
Layout Consistente:
- Elimina os saltos irritantes no layout, proporcionando uma experiência mais suave ao usuário.
-
Melhoria na Experiência do Usuário:
- A página não parece "pular" quando o conteúdo é carregado ou alterado dinamicamente.
-
Simplicidade:
- A solução é simples e direta, sem a necessidade de hacks ou cálculos complexos de largura.
Considerações
-
Suporte a Navegadores:
- A propriedade
scrollbar-gutter
é relativamente nova e pode não ser suportada em
navegadores mais antigos.
- Verifique a compatibilidade em Can I use.
-
Uso em Projetos Modernos:
- Ideal para projetos que visam navegadores modernos e buscam uma experiência de usuário mais
refinada.
Exemplo Prático
<div class="container">
<p>Este é um conteúdo que pode exceder a altura da janela e exigir uma barra de rolagem.</p>
<p>Com `scrollbar-gutter: stable`, o layout não salta quando a barra de rolagem aparece.</p>
</div>
.container {
scrollbar-gutter: stable;
padding: 20px;
border: 1px solid #ccc;
}
Conclusão
- A propriedade
scrollbar-gutter: stable
é uma solução eficaz para evitar saltos
no layout causados pela barra de rolagem.
- Ao reservar espaço para a barra de rolagem, ela garante um layout consistente e uma experiência de usuário
mais suave.
- Considere adotar essa propriedade em projetos modernos para melhorar a qualidade do seu design.