Skip to main content
Validação HTML

CSS: “mask”: X não é um valor de “mask”.

Sobre este problema HTML

A propriedade abreviada CSS mask permite-lhe ocultar parcial ou totalmente porções de um elemento aplicando uma máscara gráfica. É uma abreviatura para várias sub-propriedades incluindo mask-image, mask-mode, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, e mask-composite. Por ser uma abreviatura, cada valor que você fornece deve corresponder aos valores aceites por uma dessas sub-propriedades. O validador gera este erro quando encontra um valor que não se encaixa em nenhuma delas — por exemplo, uma palavra-chave arbitrária, um nome de função mal escrito, ou uma sintaxe não suportada.

Causas comuns deste erro incluem:

  • Palavras-chave arbitrárias — Usar nomes inventados como star-shape ou circle-mask que não são valores CSS válidos.
  • Funções ou palavras-chave mal escritas — Erros tipográficos como lnear-gradient() em vez de linear-gradient(), ou noen em vez de none.
  • Valores com prefixo de browser sem o valor padrão — Usar sintaxe ou valores de -webkit-mask que não se alinham com a propriedade mask padrão.
  • Combinações de abreviatura inválidas — Fornecer valores de sub-propriedades numa ordem ou combinação que a abreviatura não aceita.
  • Wrapper url() em falta — Referenciar um caminho de ficheiro de imagem diretamente sem o envolver na função url().

Isto é importante para a conformidade com padrões porque os browsers podem silenciosamente ignorar valores mask inválidos, resultando na máscara não ser aplicada de todo. O seu design pode parecer completamente diferente do pretendido, e a falha pode ser difícil de debugar sem validação.

Valores mask válidos

A propriedade mask aceita uma ou mais camadas de máscara separadas por vírgulas. Cada camada pode incluir:

  • none — Nenhuma máscara é aplicada.
  • url() — Uma referência a um elemento de máscara SVG ou um ficheiro de imagem (ex: url(mask.svg), url(mask.png)).
  • Funções de imagem CSS — Tais como linear-gradient(), radial-gradient(), conic-gradient(), image(), etc.
  • Palavras-chave de caixa geométrica (para mask-clip / mask-origin) — Tais como content-box, padding-box, border-box, fill-box, stroke-box, view-box.
  • Palavras-chave de composição (para mask-composite) — Tais como add, subtract, intersect, exclude.

Exemplos

Incorreto: palavra-chave arbitrária como valor de máscara

<div style="mask: star-shape;">
  Conteúdo Mascarado
</div>

O valor star-shape não é um valor mask reconhecido e será rejeitado pelo validador.

Incorreto: função url() em falta

<div style="mask: star.svg;">
  Conteúdo Mascarado
</div>

Um caminho de ficheiro simples não é válido. Referências de imagem devem ser envolvidas na função url().

Correto: usar url() para referenciar uma imagem de máscara

<div style="mask: url(star.svg);">
  Conteúdo Mascarado
</div>

Correto: usar none para desativar explicitamente o mascaramento

<div style="mask: none;">
  Sem Máscara Aplicada
</div>

Correto: usar um gradiente como máscara

<div style="mask: linear-gradient(to right, transparent, black);">
  Conteúdo Desbotado
</div>

Correto: combinar múltiplos valores de abreviatura

<div style="mask: url(mask.png) no-repeat center / contain;">
  Conteúdo Mascarado
</div>

Isto define a imagem da máscara, comportamento de repetição, posição e tamanho numa única declaração abreviada.

Correto: múltiplas camadas de máscara

<div style="mask: url(shape.svg) no-repeat, linear-gradient(to bottom, black, transparent);">
  Máscara Multi-camada
</div>

Ao corrigir este erro, verifique duas vezes o seu valor contra a especificação CSS Masking no MDN. Se estiver a usar versões com prefixo de fornecedor como -webkit-mask, certifique-se também de que a propriedade mask padrão está presente com valores válidos para compatibilidade futura.

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.