Como corrigir o conflito de estilos de formulário entre WPForms e Elementor
O que é o conflito de estilo do WPForms no Elementor?
O conflito de estilos entre WPForms e Elementor e a quebra visual do formulário quando ele e renderizado dentro de uma página construida no Elementor. O WPForms tem um CSS próprio em camadas (estilos base e estilos de tema do formulário) e o Elementor injeta o seu próprio CSS de fontes, cores e espacamentos globais. Quando as duas folhas de estilo competem pelo mesmo elemento, ou quando o CSS do WPForms e desligado nas configurações, o formulário aparece desalinhado, sem borda nos campos, com botão sem cor ou em uma coluna so.
Como identificar
- O formulário aparece sem borda nos campos e sem cor no botão dentro da página do Elementor, mas fica correto na pre-visualizacao do próprio WPForms.
- Campos que deveriam ficar lado a lado (layout multi-coluna) empilham em uma única coluna no Elementor.
- A aba ‘Estilo’ (Style) do widget WPForms não aparece na barra lateral do Elementor.
- A fonte e a cor do formulário mudam para a fonte e a cor globais do tema do Elementor em vez do estilo definido no WPForms.
- Depois de salvar a página no Elementor o formulário fica estilizado no editor, mas perde o estilo na página publicada (visitante anonimo).
Como prevenir
- Mantenha a opção ‘Include Form Styling’ em ‘Base and form theme styling’ e o Modern Markup ligado para o formulário sobrepor o tema por padrão
- Estilize o formulário sempre pela aba de estilo do widget no Elementor, em vez de espalhar CSS solto que disputa especificidade com o tema
- Exclua os arquivos de CSS do WPForms da combinacao do plugin de cache e teste a página como visitante anonimo após cada publicação
Causa
- A opção 'Include Form Styling' em WPForms -> Settings -> General esta como 'Base styling only' ou 'No styling', entao a camada de estilo de tema do formulário (que sobrescreve o tema do site) não e carregada e o Elementor passa a mandar na aparencia.
- O botão 'Use Modern Markup' esta desligado em WPForms -> Settings -> General, entao a aba 'Estilo' do widget WPForms não aparece no Elementor e os controles de campo, label e botão ficam indisponiveis.
- Os Estilos Globais do Elementor (Elementor -> Configurações do Site -> Tipografia/Cores Globais) aplicam fonte e cor com especificidade maior do que o CSS base do WPForms, sobrescrevendo o formulário.
- Um plugin de cache ou de otimização removeu o arquivo wpforms-full.min.css da página ao combinar ou adiar o CSS, deixando o formulário sem a folha de estilo.
- O tema ativo ou um CSS adicional do Elementor tem regra agressiva em input, label ou button (ex.: input { border: 0 }) que atinge também os campos do formulário do WPForms.
Como resolver
- Confirme a opção de estilo no WPForms: abra o painel e va até as configurações gerais do WPForms. Localize a lista 'Include Form Styling' e deixe na opção padrão, que carrega as duas camadas de CSS e e a mais forte contra o tema. Se estiver em 'Base styling only' ou 'No styling', e por isso que o Elementor venceu a disputa de estilo.
WPForms -> Settings -> General -> Include Form Styling: Base and form theme styling - Ative o Modern Markup: na mesma tela, ligue o botão do Modern Markup. Sem ele, a aba de estilo do widget no Elementor nem aparece e você perde os controles visuais de campo, label e botão.
WPForms -> Settings -> General -> Use Modern Markup: ON - Estilize pela aba Estilo do widget WPForms: edite a página no Elementor, selecione o widget WPForms e abra a aba de estilo. Ajuste Temas, Estilos de Campo, Estilos de Label e Estilos de Botão por ali. Definir o estilo nesse painel cria CSS com a especificidade certa para o formulário, sem brigar com o tema.
Elementor -> Widget WPForms -> aba Estilo (Style) -> Temas / Estilos de Campo / Estilos de Botão - Limpe o cache e regenere o CSS: se o estilo aparece no editor mas some na página publicada, o cache esta servindo uma versão sem o CSS do formulário. Limpe o cache do plugin de otimização e do Elementor e exclua os arquivos do WPForms da combinacao de CSS.
Elementor -> Ferramentas -> Regenerar arquivos e dados -> Regenerar CSS e dados Excluir da otimização de CSS: wpforms-full.min.css - Neutralize a regra global do tema, se persistir: se ainda houver conflito de fonte ou borda, adicione um CSS de correção mirando o container do formulário para devolver o estilo do WPForms acima do CSS global do Elementor. Use o bloco de código abaixo como base e cole em Aparencia -> Personalizar -> CSS adicional.
.wpforms-container input.wpforms-field-medium { border: 1px solid #ccc; } .wpforms-container button.wpforms-submit { color: inherit; background-color: inherit; }
/* CSS adicional: devolve o estilo do WPForms acima do CSS global do Elementor */
/* Aparencia -> Personalizar -> CSS adicional */
.wpforms-container .wpforms-field input[type=text],
.wpforms-container .wpforms-field input[type=email],
.wpforms-container .wpforms-field textarea {
border: 1px solid #cccccc;
border-radius: 4px;
background-color: #ffffff;
font-family: inherit;
}
.wpforms-container .wpforms-submit {
background-color: #066aab;
color: #ffffff;
border: 0;
border-radius: 4px;
}














