NueForm

CSS personnalisé

Take full control of your form's appearance with custom CSS selectors, CSS variables, and per-element styling for both NueForms and Fuse activities.

Overview

Custom CSS gives you complete control over the visual appearance of your forms and Fuse activities. NueForm provides a comprehensive set of CSS class selectors and CSS custom properties (variables) that you can target in your custom styles.

Adding Custom CSS

NueForm (Standard Forms)

  1. Open your form in the builder.
  2. Navigate to the Design tab in the settings panel.
  3. Scroll to the Custom CSS section.
  4. Enter your CSS rules.
  5. Changes are reflected in the live preview immediately.

Fuse Activities

  1. Open your Fuse activity in the builder.
  2. Navigate to the Design tab.
  3. Scroll to the Custom CSS section.
  4. The CSS editor shows selectors specific to your chosen activity type.

NueForm CSS Selectors

These selectors are available for standard forms:

Layout & Container

SelectorDescription
.fc-containerThe main form container. This is the root element that wraps the entire form.
.fc-welcomeThe welcome screen container.
.fc-thankyouThe thank-you screen container.
.fc-progress-barThe progress bar track (the background bar).
.fc-progress-fillThe filled portion of the progress bar (shows current progress).

Question Elements

SelectorDescription
.fc-question-titleThe question title text. Includes the question number and the rich text content.
.fc-question-descriptionThe question description text below the title.
.fc-question-numberThe question number prefix (e.g., "1 ->").

Interactive Elements

SelectorDescription
.fc-buttonPrimary buttons throughout the form (OK, Start, Submit).
.fc-inputText inputs and textareas where respondents type their answers.
.fc-choiceIndividual choice option containers (multiple choice, dropdown options).
.fc-choice.selectedA choice option that is currently selected.
.fc-rating-iconIndividual rating shapes (stars, hearts, thumbs, etc.).
.fc-scale-itemIndividual items on opinion scales and NPS scales.

Branding

SelectorDescription
.fc-top-logoThe top logo container.
.fc-watermarkThe watermark or bottom-left logo element.

Example

css
/* Make buttons fully rounded */
.fc-button {
  border-radius: 9999px;
}

/* Add a thicker bottom border to inputs */
.fc-input {
  border-bottom-width: 3px;
}

/* Add a hover slide effect to choices */
.fc-choice:hover {
  transform: translateX(4px);
}

/* Style the selected choice */
.fc-choice.selected {
  border-color: var(--fc-accent);
  background-color: var(--fc-accent-10);
}

/* Increase progress bar height */
.fc-progress-bar {
  height: 6px;
}

Fuse Activity CSS Selectors

Fuse activities have their own set of CSS selectors, organized into general, shared activity, and activity-specific categories.

General Selectors

These apply to every Fuse activity:

SelectorDescription
.fuse-containerRoot container for the entire Fuse page.
.fuse-titleThe activity title heading.
.fuse-descriptionThe activity description text.
.fuse-activity-areaThe wrapper around the activity widget itself.
.fuse-live-badgeThe live participant count badge.
.fuse-participant-barThe row of participant avatars.
.fuse-join-screenThe join/name entry screen shown before the activity.
.fuse-activity-indicatorThe floating activity indicator notification.

Shared Activity Selectors

These selectors are shared across multiple activity types:

SelectorDescription
.fuse-optionOption button (used in polls).
.fuse-option-labelText label within an option.
.fuse-option-percentagePercentage display within an option.
.fuse-option-votesVote count text within an option.
.fuse-total-countTotal votes summary text.
.fuse-inputText inputs in activities.
.fuse-submit-btnSubmit/add buttons.
.fuse-hintHelper or instruction text.
.fuse-list-itemItem cards in list-type activities.
.fuse-item-textText content within list items.
.fuse-item-authorContributor name on list items.
.fuse-scoreUpvote/downvote score display.
.fuse-upvoteUpvote button.
.fuse-downvoteDownvote button.
.fuse-stat-valueStatistic display value (e.g., average, median).
.fuse-stat-labelStatistic display label.
.fuse-histogramDistribution chart container.
.fuse-histogram-barIndividual bar within a histogram.
.fuse-championWinner/champion display element.
.fuse-consensusConsensus section display.
.fuse-round-labelRound header text (multi-round activities).
.fuse-rank-numberRank position badge.
.fuse-statusStatus or count text.

Activity-Specific Selectors

Each activity type has unique selectors:

Classic Poll

SelectorDescription
.fuse-classic-pollClassic Poll root container.
.fuse-pollPoll options container.
.fuse-poll--bar-chartBar chart display mode modifier.
.fuse-barIndividual bar chart column.
.fuse-bar-labelBar chart label text.

Multi-Vote Poll

SelectorDescription
.fuse-multi-vote-pollMulti-Vote Poll root container.

Image Poll

SelectorDescription
.fuse-image-pollImage Poll root container.

Ranked Poll

SelectorDescription
.fuse-ranked-pollRanked Poll root container.

Elimination Poll

SelectorDescription
.fuse-elimination-pollElimination Poll root container.

Hot Takes

SelectorDescription
.fuse-hot-takesHot Takes root container.
.fuse-statementThe statement text being debated.
.fuse-tug-barThe tug-of-war visualization bar.
.fuse-percentage--agreeAgree percentage display.
.fuse-percentage--disagreeDisagree percentage display.
.fuse-vote-btn--agreeAgree button.
.fuse-vote-btn--disagreeDisagree button.

Would You Rather / This or That

SelectorDescription
.fuse-would-you-ratherWould You Rather root container.
.fuse-this-or-thatThis Or That root container.
.fuse-panel--leftLeft option panel.
.fuse-panel--rightRight option panel.
.fuse-panel-labelPanel label text.
.fuse-panel-percentagePanel percentage display.

Sliding Scale

SelectorDescription
.fuse-sliding-scaleSliding Scale root container.
.fuse-sliderThe slider track element.
.fuse-slider-valueCurrent slider value display.
.fuse-slider-labelMin/max label text.
.fuse-statsStatistics container.

Word Cloud

SelectorDescription
.fuse-word-cloudWord Cloud root container.
.fuse-cloudThe cloud container.
.fuse-wordIndividual word in the cloud.

Collaborative List

SelectorDescription
.fuse-collaborative-listCollaborative List root container.

Ranked List

SelectorDescription
.fuse-ranked-listRanked List root container.

Rate & Reveal

SelectorDescription
.fuse-rate-and-revealRate & Reveal root container.

Pros & Cons

SelectorDescription
.fuse-pros-and-consPros & Cons root container.
.fuse-side-columnIndividual pro or con column.

Top N

SelectorDescription
.fuse-top-nTop N root container.

Predictions

SelectorDescription
.fuse-predictionsPredictions root container.

Caption This

SelectorDescription
.fuse-caption-thisCaption This root container.

Map Pins

SelectorDescription
.fuse-map-pinsMap Pins root container.

Q&A Board

SelectorDescription
.fuse-qa-boardQ&A Board root container.

Tier List

SelectorDescription
.fuse-tier-listTier List root container.
.fuse-tier-rowIndividual tier row.
.fuse-tier-labelTier label text (S, A, B, C, D, F).
.fuse-tier-itemIndividual item within a tier.
.fuse-tier-badgeItem count badge on a tier.

Bracket

SelectorDescription
.fuse-bracketBracket root container.
.fuse-matchupMatchup container.
.fuse-matchup-entryIndividual matchup option.
.fuse-matchup-labelMatchup option label.
.fuse-matchup-votesMatchup vote count display.

CSS Custom Properties (Variables)

In addition to class selectors, you can reference CSS custom properties in your rules. These are set by the theme system and adapt to each form's configuration.

VariableDescription
var(--fc-title-color)Title text color.
var(--fc-description-color)Description text color.
var(--fc-option-color)Activity/option text color.
var(--fc-font-question)Title font family.
var(--fc-font-description)Description font family.
var(--fc-font-option)Activity/option font family.
var(--fc-accent)Accent/theme color.
var(--fc-bg)Background color.
var(--fc-text)Primary text color.
var(--fc-btn-bg)Button background color.
var(--fc-btn-text)Button text color.
var(--fc-border)Border color.
var(--fc-input-bg)Input background color.
var(--fc-muted)Muted/secondary text color.
var(--fc-indicator-bg)Activity indicator background color.
var(--fc-indicator-text)Activity indicator text color.
var(--fc-font-indicator)Activity indicator font family.

Using CSS Variables in Custom CSS

You can reference these variables in your custom CSS to create styles that adapt to the form's theme:

css
/* Custom border using the theme's accent color */
.fc-choice {
  border: 2px solid var(--fc-accent-30);
}

/* Custom input styling using theme colors */
.fc-input {
  background-color: var(--fc-input-bg);
  border-color: var(--fc-border);
}

/* Fuse activity with theme-aware styling */
.fuse-option {
  border: 1px solid var(--fc-border);
  border-radius: 20px;
}

Per-Question Custom Classes

In addition to form-level custom CSS, you can add custom CSS class names to individual questions and their media elements:

  • Question Custom Class Name (customClassName): Applied to the question container.
  • Media Custom Class Name (media.customClassName): Applied to the media element.

This lets you target specific questions in your CSS:

css
/* Only style the "hero" question differently */
.hero-question .fc-question-title {
  font-size: 3rem;
  text-align: center;
}

Then set the question's custom class name to hero-question in the builder.

Tips and Best Practices

  1. Use CSS variables: Reference var(--fc-accent) and other theme variables instead of hard-coding colors. This ensures your custom styles adapt when the theme changes.
  2. Test in preview: Always preview your form after adding custom CSS to verify the styles look correct on both desktop and mobile.
  3. Specificity: NueForm's built-in styles use low specificity. Your custom CSS should override them without needing !important in most cases.
  4. Responsive design: Use media queries in your custom CSS if you need different styles on mobile vs. desktop.
  5. Avoid breaking layout: Be careful with properties like position, display, and overflow that can break the form's layout.

Example: Complete Custom Theme

css
/* Rounded, card-style questions */
.fc-container {
  padding: 2rem;
}

/* Pill-shaped buttons */
.fc-button {
  border-radius: 9999px;
  padding: 12px 32px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Underline-style inputs */
.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);
}

/* Choice cards with hover effect */
.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);
}

/* Larger rating icons */
.fc-rating-icon {
  font-size: 2rem;
}

/* Subtle progress bar */
.fc-progress-bar {
  height: 3px;
  opacity: 0.5;
}
Dernière mise à jour : 6 avril 2026