El CSS personalizado te da control completo sobre la apariencia visual de tus formularios y actividades Fuse. NueForm proporciona un conjunto completo de selectores de clases CSS y propiedades personalizadas CSS (variables) que puedes utilizar en tus estilos personalizados.
- Abre tu formulario en el constructor.
- Navega a la pestaña Diseño en el panel de configuración.
- Desplázate hasta la sección CSS personalizado.
- Ingresa tus reglas CSS.
- Los cambios se reflejan en la vista previa en vivo inmediatamente.
- Abre tu actividad Fuse en el constructor.
- Navega a la pestaña Diseño.
- Desplázate hasta la sección CSS personalizado.
- El editor CSS muestra selectores específicos para tu tipo de actividad elegido.
Estos selectores están disponibles para formularios estándar:
| Selector | Descripción |
|---|
.fc-container | El contenedor principal del formulario. Es el elemento raíz que envuelve todo el formulario. |
.fc-welcome | El contenedor de la pantalla de bienvenida. |
.fc-thankyou | El contenedor de la pantalla de agradecimiento. |
.fc-progress-bar | La pista de la barra de progreso (la barra de fondo). |
.fc-progress-fill | La porción llena de la barra de progreso (muestra el progreso actual). |
| Selector | Descripción |
|---|
.fc-question-title | El texto del título de la pregunta. Incluye el número de pregunta y el contenido de texto enriquecido. |
.fc-question-description | El texto de descripción de la pregunta debajo del título. |
.fc-question-number | El prefijo del número de pregunta (por ejemplo, "1 ->"). |
| Selector | Descripción |
|---|
.fc-button | Botones primarios a lo largo del formulario (OK, Iniciar, Enviar). |
.fc-input | Campos de texto y áreas de texto donde los encuestados escriben sus respuestas. |
.fc-choice | Contenedores individuales de opciones (selección múltiple, opciones de desplegable). |
.fc-choice.selected | Una opción que está actualmente seleccionada. |
.fc-rating-icon | Iconos individuales de valoración (estrellas, corazones, pulgares, etc.). |
.fc-scale-item | Elementos individuales en escalas de opinión y escalas NPS. |
| Selector | Descripción |
|---|
.fc-top-logo | El contenedor del logo superior. |
.fc-watermark | El elemento de marca de agua o logo inferior izquierdo. |
/* Hacer botones completamente redondeados */
.fc-button {
border-radius: 9999px;
}
/* Agregar un borde inferior más grueso a los inputs */
.fc-input {
border-bottom-width: 3px;
}
/* Agregar efecto hover de deslizamiento a las opciones */
.fc-choice:hover {
transform: translateX(4px);
}
/* Estilizar la opción seleccionada */
.fc-choice.selected {
border-color: var(--fc-accent);
background-color: var(--fc-accent-10);
}
/* Aumentar la altura de la barra de progreso */
.fc-progress-bar {
height: 6px;
}
Las actividades Fuse tienen su propio conjunto de selectores CSS, organizados en categorías generales, compartidas por actividad y específicas de actividad.
Estos se aplican a cada actividad Fuse:
| Selector | Descripción |
|---|
.fuse-container | Contenedor raíz para toda la página Fuse. |
.fuse-title | El encabezado del título de la actividad. |
.fuse-description | El texto de descripción de la actividad. |
.fuse-activity-area | El envoltorio alrededor del widget de actividad. |
.fuse-live-badge | La insignia de conteo de participantes en vivo. |
.fuse-participant-bar | La fila de avatares de participantes. |
.fuse-join-screen | La pantalla de unión/entrada de nombre mostrada antes de la actividad. |
.fuse-activity-indicator | La notificación flotante de indicador de actividad. |
Estos selectores son compartidos entre múltiples tipos de actividad:
| Selector | Descripción |
|---|
.fuse-option | Botón de opción (usado en encuestas). |
.fuse-option-label | Etiqueta de texto dentro de una opción. |
.fuse-option-percentage | Visualización de porcentaje dentro de una opción. |
.fuse-option-votes | Texto de conteo de votos dentro de una opción. |
.fuse-total-count | Texto de resumen total de votos. |
.fuse-input | Campos de texto en actividades. |
.fuse-submit-btn | Botones de enviar/agregar. |
.fuse-hint | Texto de ayuda o instrucciones. |
.fuse-list-item | Tarjetas de elementos en actividades tipo lista. |
.fuse-item-text | Contenido de texto dentro de elementos de lista. |
.fuse-item-author | Nombre del contribuyente en elementos de lista. |
.fuse-score | Visualización de puntuación de voto positivo/negativo. |
.fuse-upvote | Botón de voto positivo. |
.fuse-downvote | Botón de voto negativo. |
.fuse-stat-value | Valor de visualización de estadística (por ejemplo, promedio, mediana). |
.fuse-stat-label | Etiqueta de visualización de estadística. |
.fuse-histogram | Contenedor del gráfico de distribución. |
.fuse-histogram-bar | Barra individual dentro de un histograma. |
.fuse-champion | Elemento de visualización de ganador/campeón. |
.fuse-consensus | Visualización de sección de consenso. |
.fuse-round-label | Texto de encabezado de ronda (actividades multi-ronda). |
.fuse-rank-number | Insignia de posición de rango. |
.fuse-status | Texto de estado o conteo. |
Cada tipo de actividad tiene selectores únicos:
| Selector | Descripción |
|---|
.fuse-classic-poll | Contenedor raíz de Classic Poll. |
.fuse-poll | Contenedor de opciones de encuesta. |
.fuse-poll--bar-chart | Modificador de modo de visualización de gráfico de barras. |
.fuse-bar | Columna individual de gráfico de barras. |
.fuse-bar-label | Texto de etiqueta de gráfico de barras. |
| Selector | Descripción |
|---|
.fuse-multi-vote-poll | Contenedor raíz de Multi-Vote Poll. |
| Selector | Descripción |
|---|
.fuse-image-poll | Contenedor raíz de Image Poll. |
| Selector | Descripción |
|---|
.fuse-ranked-poll | Contenedor raíz de Ranked Poll. |
| Selector | Descripción |
|---|
.fuse-elimination-poll | Contenedor raíz de Elimination Poll. |
| Selector | Descripción |
|---|
.fuse-hot-takes | Contenedor raíz de Hot Takes. |
.fuse-statement | El texto de la declaración en debate. |
.fuse-tug-bar | La barra de visualización tug-of-war. |
.fuse-percentage--agree | Visualización del porcentaje de acuerdo. |
.fuse-percentage--disagree | Visualización del porcentaje de desacuerdo. |
.fuse-vote-btn--agree | Botón de acuerdo. |
.fuse-vote-btn--disagree | Botón de desacuerdo. |
| Selector | Descripción |
|---|
.fuse-would-you-rather | Contenedor raíz de Would You Rather. |
.fuse-this-or-that | Contenedor raíz de This Or That. |
.fuse-panel--left | Panel de opción izquierda. |
.fuse-panel--right | Panel de opción derecha. |
.fuse-panel-label | Texto de etiqueta del panel. |
.fuse-panel-percentage | Visualización de porcentaje del panel. |
| Selector | Descripción |
|---|
.fuse-sliding-scale | Contenedor raíz de Sliding Scale. |
.fuse-slider | El elemento de pista del deslizador. |
.fuse-slider-value | Visualización del valor actual del deslizador. |
.fuse-slider-label | Texto de etiqueta mín/máx. |
.fuse-stats | Contenedor de estadísticas. |
| Selector | Descripción |
|---|
.fuse-word-cloud | Contenedor raíz de Word Cloud. |
.fuse-cloud | El contenedor de la nube. |
.fuse-word | Palabra individual en la nube. |
| Selector | Descripción |
|---|
.fuse-collaborative-list | Contenedor raíz de Collaborative List. |
| Selector | Descripción |
|---|
.fuse-ranked-list | Contenedor raíz de Ranked List. |
| Selector | Descripción |
|---|
.fuse-rate-and-reveal | Contenedor raíz de Rate & Reveal. |
| Selector | Descripción |
|---|
.fuse-pros-and-cons | Contenedor raíz de Pros & Cons. |
.fuse-side-column | Columna individual de pro o contra. |
| Selector | Descripción |
|---|
.fuse-top-n | Contenedor raíz de Top N. |
| Selector | Descripción |
|---|
.fuse-predictions | Contenedor raíz de Predictions. |
| Selector | Descripción |
|---|
.fuse-caption-this | Contenedor raíz de Caption This. |
| Selector | Descripción |
|---|
.fuse-map-pins | Contenedor raíz de Map Pins. |
| Selector | Descripción |
|---|
.fuse-qa-board | Contenedor raíz de Q&A Board. |
| Selector | Descripción |
|---|
.fuse-tier-list | Contenedor raíz de Tier List. |
.fuse-tier-row | Fila individual de nivel. |
.fuse-tier-label | Texto de etiqueta de nivel (S, A, B, C, D, F). |
.fuse-tier-item | Elemento individual dentro de un nivel. |
.fuse-tier-badge | Insignia de conteo de elementos en un nivel. |
| Selector | Descripción |
|---|
.fuse-bracket | Contenedor raíz de Bracket. |
.fuse-matchup | Contenedor de enfrentamiento. |
.fuse-matchup-entry | Opción individual de enfrentamiento. |
.fuse-matchup-label | Etiqueta de opción de enfrentamiento. |
.fuse-matchup-votes | Visualización de conteo de votos del enfrentamiento. |
Además de los selectores de clase, puedes referenciar propiedades personalizadas CSS en tus reglas. Estas son establecidas por el sistema de temas y se adaptan a la configuración de cada formulario.
| Variable | Descripción |
|---|
var(--fc-title-color) | Color del texto del título. |
var(--fc-description-color) | Color del texto de la descripción. |
var(--fc-option-color) | Color del texto de la actividad/opción. |
var(--fc-font-question) | Familia de fuente del título. |
var(--fc-font-description) | Familia de fuente de la descripción. |
var(--fc-font-option) | Familia de fuente de la actividad/opción. |
var(--fc-accent) | Color de acento/tema. |
var(--fc-bg) | Color de fondo. |
var(--fc-text) | Color de texto primario. |
var(--fc-btn-bg) | Color de fondo del botón. |
var(--fc-btn-text) | Color de texto del botón. |
var(--fc-border) | Color del borde. |
var(--fc-input-bg) | Color de fondo del input. |
var(--fc-muted) | Color de texto atenuado/secundario. |
var(--fc-indicator-bg) | Color de fondo del indicador de actividad. |
var(--fc-indicator-text) | Color de texto del indicador de actividad. |
var(--fc-font-indicator) | Familia de fuente del indicador de actividad. |
Puedes referenciar estas variables en tu CSS personalizado para crear estilos que se adapten al tema del formulario:
/* Borde personalizado usando el color de acento del tema */
.fc-choice {
border: 2px solid var(--fc-accent-30);
}
/* Estilo de input personalizado usando colores del tema */
.fc-input {
background-color: var(--fc-input-bg);
border-color: var(--fc-border);
}
/* Actividad Fuse con estilo adaptado al tema */
.fuse-option {
border: 1px solid var(--fc-border);
border-radius: 20px;
}
Además del CSS personalizado a nivel de formulario, puedes agregar nombres de clases CSS personalizados a preguntas individuales y sus elementos multimedia:
- Custom Class Name de pregunta (
customClassName): Se aplica al contenedor de la pregunta. - Custom Class Name de multimedia (
media.customClassName): Se aplica al elemento multimedia.
Esto te permite apuntar a preguntas específicas en tu CSS:
/* Solo estilizar la pregunta "hero" de manera diferente */
.hero-question .fc-question-title {
font-size: 3rem;
text-align: center;
}
Luego establece el nombre de clase personalizado de la pregunta a hero-question en el constructor.
- Usa variables CSS: Referencia
var(--fc-accent) y otras variables de tema en lugar de codificar colores directamente. Esto asegura que tus estilos personalizados se adapten cuando el tema cambie. - Prueba en vista previa: Siempre previsualiza tu formulario después de agregar CSS personalizado para verificar que los estilos se vean correctos tanto en escritorio como en móvil.
- Especificidad: Los estilos integrados de NueForm usan baja especificidad. Tu CSS personalizado debería sobrescribirlos sin necesitar
!important en la mayoría de los casos. - Diseño responsivo: Usa media queries en tu CSS personalizado si necesitas estilos diferentes en móvil vs. escritorio.
- Evita romper el diseño: Ten cuidado con propiedades como
position, display y overflow que pueden romper el diseño del formulario.
/* Preguntas con estilo de tarjeta redondeada */
.fc-container {
padding: 2rem;
}
/* Botones en forma de pastilla */
.fc-button {
border-radius: 9999px;
padding: 12px 32px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
/* Inputs estilo subrayado */
.fc-input {
border: none;
border-bottom: 2px solid var(--fc-border);
border-radius: 0;
background: transparent;
padding-left: 0;
}
.fc-input:focus {
border-bottom-color: var(--fc-accent);
}
/* Tarjetas de opciones con efecto hover */
.fc-choice {
border-radius: 12px;
transition: all 0.2s ease;
}
.fc-choice:hover {
transform: translateX(4px);
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
/* Iconos de valoración más grandes */
.fc-rating-icon {
font-size: 2rem;
}
/* Barra de progreso sutil */
.fc-progress-bar {
height: 3px;
opacity: 0.5;
}