Skip to main content
Validação HTML

Atributo “seamless” não permitido no elemento “iframe” neste ponto.

Sobre este problema HTML

O atributo seamless foi originalmente rascunhado como parte da especificação HTML5 para permitir que um <iframe> aparecesse como se o seu conteúdo fizesse parte do documento que o contém. Quando presente, deveria remover bordas, herdar estilos da página pai e permitir que o conteúdo do iframe participasse no contexto de estilização do documento pai. No entanto, nenhum navegador implementou completamente o atributo, e foi oficialmente removido do WHATWG HTML Living Standard.

Como seamless não é um atributo reconhecido na especificação HTML atual, usá-lo desencadeia um erro de validação. Além da validação, incluí-lo não tem qualquer efeito prático em nenhum navegador moderno — é simplesmente ignorado. Manter atributos não suportados na sua marcação cria confusão para outros programadores que podem assumir que o atributo está a fazer algo significativo. Também adiciona desordem desnecessária ao seu HTML.

Como corrigir

Remova o atributo seamless de quaisquer elementos <iframe>. Se quiser replicar os efeitos visuais que seamless pretendia fornecer, pode usar CSS:

  • Remover a borda: Aplique border: none; ou use o atributo frameborder="0" (embora frameborder também seja obsoleto — CSS é preferível).
  • Misturar o fundo: Defina background: transparent; e adicione o atributo allowtransparency se estiver a visar navegadores mais antigos.
  • Redimensionar automaticamente para o conteúdo: Use JavaScript para ajustar dinamicamente a altura do iframe com base no seu conteúdo (sujeito a restrições de mesma origem).

Note que a verdadeira integração seamless — onde o iframe herda estilos do pai e o seu conteúdo flui naturalmente dentro do documento pai — não é alcançável com o comportamento padrão do iframe. Se precisar desse nível de integração, considere incluir o conteúdo diretamente na página, usando um include do lado do servidor, ou obtendo o conteúdo com JavaScript via a API fetch e inserindo-o no DOM.

Exemplos

❌ Inválido: Usar o atributo seamless

<iframe src="widget.html" seamless></iframe>

✅ Corrigido: Atributo removido, CSS usado para estilização

<iframe src="widget.html" style="border: none;"></iframe>

✅ Corrigido: Usar uma classe CSS para marcação mais limpa

<style>
  .seamless-iframe {
    border: none;
    width: 100%;
    background: transparent;
  }
</style>

<iframe src="widget.html" class="seamless-iframe" title="Widget incorporado"></iframe>

✅ Alternativa: Incorporar conteúdo diretamente em vez de usar um iframe

Se o conteúdo estiver na mesma origem e você precisar de verdadeira integração seamless, considere carregá-lo diretamente:

<div id="embedded-content">
<!-- Conteúdo carregado via include do lado do servidor ou fetch JavaScript -->

</div>

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.