Introducción
En este artículo encontrarás un tutorial completo y detallado para centrar y estilizar el formulario de comentarios en WordPress usando únicamente CSS (con ejemplos prácticos) y algunos ajustes opcionales en PHP para añadir clases o encolar hojas de estilo. Se explica la estructura típica del formulario, varias técnicas de centrado (horizontal y vertical), cómo diseñar los campos y el botón de envío, consideraciones responsivas y accesibilidad. Todos los ejemplos de código vienen listos para copiar y pegar.
Anatomía básica del formulario de comentarios en WordPress
Antes de aplicar estilos conviene conocer los selectores y clases más comunes que genera WordPress por defecto:
- form.comment-form o #commentform: elemento form que contiene los campos.
- #comment: área de texto principal (textarea).
- .comment-form-author, .comment-form-email, .comment-form-url: contenedores de campos individuales.
- .form-submit y .submit: contenedor del botón y el botón de envío.
Buenas prácticas antes de empezar
- Añade tus estilos en un archivo CSS separado (por ejemplo css/comments.css) o en el panel de personalización (Apariencia → Personalizar → CSS adicional).
- Evita reglas demasiado globales que afecten a otros formularios utiliza selectores específicos como .comments-area .comment-form o la clase que determines para el formulario.
- Prioriza la accesibilidad: mantén etiquetas asociadas a inputs, estados :focus visibles y contraste adecuado en colores.
Centrado horizontal sencillo (contenedor con ancho máximo)
Un método clásico y ampliamente compatible es limitar el ancho del formulario y centrarlo con margin: 0 auto.
.comments-area .comment-form {
max-width: 700px / ancho máximo cómodo para lectura /
margin: 0 auto / centra horizontalmente /
padding: 1.25rem / respiración interna /
background: #fff
border-radius: 8px
box-shadow: 0 6px 18px rgba(0,0,0,0.06)
}
Centrado vertical y horizontal con Flexbox
Si quieres centrar el formulario tanto horizontal como verticalmente dentro de su contenedor (por ejemplo en una sección dedicada a comentarios), usa flexbox en el contenedor padre:
.comments-area {
display: flex
justify-content: center / centro horizontal /
align-items: center / centro vertical /
min-height: 40vh / altura mínima para que el centrado vertical tenga efecto /
padding: 2rem
}
.comments-area .comment-form {
width: 100%
max-width: 720px / controlamos anchura real del formulario /
}
Alternativa: centrar solo el formulario en su contenedor (sin afectar otros elementos)
Si no puedes tocar el contenedor global, envuelve el formulario en una clase propia mediante los argumentos de comment_form o con un filtro (ver sección PHP más abajo) y aplica flexbox a esa clase.
Diseño de campos: inputs y textarea modernos
Un diseño limpio y accesible para los campos mejora la interacción. Aquí un conjunto de reglas para inputs y textarea:
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea {
width: 100%
padding: 0.75rem 1rem
border: 1px solid #e3e6ea
border-radius: 8px
background: #fbfbfd
font-size: 1rem
line-height: 1.4
transition: border-color .15s ease, box-shadow .15s ease
box-sizing: border-box
}
.comment-form textarea {
min-height: 140px / altura del textarea /
resize: vertical / permitir ajuste vertical /
}
.comment-form input:focus,
.comment-form textarea:focus {
border-color: #0a84ff
box-shadow: 0 0 0 4px rgba(10,132,255,0.08)
outline: none
}
Estilizar el botón de envío
Personalizar el botón mejora la conversión y armoniza con el diseño del sitio. WordPress suele generar un botón con clase submit dentro de .form-submit.
.comment-form .form-submit .submit {
display: inline-block
background: linear-gradient(180deg,#1070c9,#0b5ea6)
color: #fff
border: none
padding: 0.7rem 1.1rem
font-size: 1rem
border-radius: 8px
cursor: pointer
box-shadow: 0 6px 18px rgba(16,112,201,0.18)
transition: transform .08s ease, box-shadow .12s ease
}
.comment-form .form-submit .submit:hover {
transform: translateY(-1px)
box-shadow: 0 10px 24px rgba(16,112,201,0.2)
}
/ Estado deshabilitado /
.comment-form .form-submit .submit[disabled],
.comment-form .form-submit .submit:disabled {
opacity: 0.6
cursor: not-allowed
}
Diseño de etiquetas y disposición de campos
Por defecto WordPress puede colocar label y input uno encima de otro. Si quieres un diseño donde nombre/email estén en fila en pantallas grandes y apilen en móviles, usa grid o flex con media queries:
.comment-form .comment-form-author,
.comment-form .comment-form-email {
display: inline-block
width: 48%
box-sizing: border-box
}
.comment-form .comment-form-author { margin-right: 4% }
/ En pantallas pequeñas apilar /
@media (max-width: 680px) {
.comment-form .comment-form-author,
.comment-form .comment-form-email {
display: block
width: 100%
margin-right: 0
margin-bottom: 0.75rem
}
}
Responsive: asegurar buena experiencia en móviles
- Usa porcentajes y max-width en vez de anchos fijos.
- Reduce paddings y tamaños de fuente en pantallas pequeñas.
- Asegura que los inputs y botones ocupen el 100% cuando sea necesario.
@media (max-width: 480px) {
.comments-area { padding: 1rem min-height: auto }
.comment-form { padding: 0.85rem border-radius: 6px }
.comment-form .form-submit .submit { width: 100% padding: 0.85rem }
}
Agregar o cambiar clases del formulario desde functions.php (opcional)
Si quieres aplicar estilos precisos sin depender de selectores largos, añade clases al form o al botón con el filtro comment_form_defaults:
Encolar tu hoja de estilos específica para comentarios
Recomendado si quieres mantener el CSS separado y solo cargar cuando hay comentarios.
Consideraciones de accesibilidad
- Mantén las etiquetas visibles o al menos disponibles para lectores de pantalla.
- Indica el estado requerido con aria-required=true si aplicable.
- Haz que los :focus sean claramente visibles (no solo un outline fino inconsistente).
- Asegura el contraste de color entre texto y fondo herramientas como Lighthouse o WebAIM ayudan a comprobarlo.
Ejemplo completo: CSS compacto para centrar y estilo moderno
/ Contenedor /
.comments-area { display: flex justify-content: center padding: 2rem 1rem }
/ Formulario centrado /
.comment-form {
width: 100%
max-width: 720px
margin: 0 auto
padding: 1.25rem
background: #ffffff
border: 1px solid #eef1f4
border-radius: 12px
box-shadow: 0 8px 30px rgba(14,30,37,0.06)
}
/ Campos /
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form textarea {
width: 100%
padding: 0.8rem 1rem
border-radius: 8px
border: 1px solid #e6e9ee
background: #fbfcfd
margin-bottom: 0.75rem
}
/ Submit /
.comment-form .form-submit { text-align: right }
.comment-form .form-submit .submit {
background: #0f7bdc
color: #fff
padding: .65rem 1rem
border-radius: 8px
border: none
cursor: pointer
}
Errores comunes y cómo evitarlos
- Usar selectores demasiado genéricos que afecten a todos los formularios del sitio. Solución: especificar .comments-area .comment-form o la clase que definas.
- Ignorar el responsive: campos con ancho fijo rompen el diseño en móviles. Solución: usar widths relativos y media queries.
- Olvidar estados :focus — afecta a accesibilidad. Solución: diseñar un estilo de foco claro y consistente.
Conclusión
Con unas pocas reglas CSS modernas (flexbox, max-width, estilos claros para inputs y botones) puedes centrar y presentar un formulario de comentarios atractivo y accesible en WordPress. Si necesitas aplicar estilos más puntuales o controlar cuándo se cargan, añade clases desde functions.php o encola una hoja dedicada. Los ejemplos mostrados son un punto de partida: ajusta colores, radios y tamaños al diseño de tu tema para obtener un resultado coherente con tu sitio.
Leave a Reply