Refreshed and republished on April 3, 2021

This post was originally published on December 11, 2018 and has been revamped and updated for accuracy and comprehensiveness.

Your Pardot forms don’t have to be boring. With a little extra CSS you can create beautiful Pardot forms with customized checkboxes and radio buttons. In this tutorial, I’ll show you how you can style checkboxes and radio buttons within Pardot forms with minimal coding.

Before we begin…

Let’s refresh on how to add custom CSS to your Pardot forms.

Navigate to Marketing > Forms > Layout Templates and select the layout to add the form styles to. Paste the CSS right above the existing code of the Form tab and save.

pardot-style-generator-edit-css

Styling Checkboxes

One of the downsides of using Pardot forms is the inability to modify the HTML structure of the form, so I will be leveraging the standard Pardot HTML to style the checkboxes.

The HTML

The standard HTML for a checkbox in a Pardot form looks like this:

Notice how the all the checkboxes are wrapped in a paragraph tag with the class pd-checkbox? This is how we will target the checkbox input and the checkbox label within the CSS.

The CSS

For the CSS, the default checkbox will be hidden and the ::before selector will be used to style the new checkbox.





The Result

The styled checkboxes will look like this once the CSS has been added to the Pardot form.

See the Pen Pardot Customized Checkboxes Using CSS (option 1) by Jenna Molby (@jennamolby) on CodePen.

Styling Radio Buttons

Styling radio buttons are pretty similar to the checkboxes, but with a bit of extra CSS to make them look like a radio button. Just like the checkboxes, we will leverage the HTML that Pardot provides, so all you have to do is add some CSS.

The HTML

All radio buttons in the Pardot form are wrapped in a paragraph tag with the class pd-radio. This is how we will target the radio input and the radio label within the CSS.

	

The CSS

Just like the CSS for the checkboxes, the default radio button will be hidden.



The Result

See the Pen Pardot Customized Radio Buttons Using CSS (option 1) by Jenna Molby (@jennamolby) on CodePen.

Questions?

Send me a tweet @jennamolby, leave a comment below, or book a Peer Chat.

Author

I'm a Freelance Marketing Operations Consultant With 15 years of experience in Marketing Operations, I’ve worked with a wide range of tools including Salesforce, Marketing Cloud Account Engagement (Pardot), Marketo, and many other sales and marketing platforms. I help teams optimize their tech stacks, improve processes, and get accurate, actionable reporting. Whether it’s setting up your Marketing Automation Platform, building Salesforce reports, managing lead lifecycles, tracking attribution, or integrating your tech stack, I ensure everything is aligned to drive real results.

37 Comments

  1. Hi Jenna,
    Thank you so much for your advices, it’s amazing !
    I have just one question : I copied the css styles but my form isn’t responsive. ( it appears very small) . How do we do ?
    Thank you

    • Jenna Molby

      Hi Manuella, You’re welcome! What do you mean it’s appearing small? Are you referring to the text or the checkboxes?

  2. Hey Jenna, is there any way to make check boxes in preference center as Toggle Switches?

    • Jenna Molby

      Hi Simon, I’m sure it’s possible, but I haven’t tried it myself. Seems like a great idea for a follow-up blog post!

  3. Beckley Stover Reply

    Jenna, is there a way to make a checkbox be prechecked?

    • Jenna Molby

      Hi Beckley,
      You can precheck a checkbox by using Javascript like this:
      document.querySelector(“.YOURFIELDNAME input”).checked = true;.

  4. This works great! Thank you so much. The only thing is that i can´t seem to allign the checkboxes without labels to the left. I tried everuthing for the last 2 hours. And I´m sure it´s just a tiny adjustment to the css styling, but I can´t seem to figure it out.

    I tried to change the styling within the >> /* Checkbox fields */ #pardot-form input[type=”checkbox”] { }<< I've added, but that didn't work either. I'm a bit frustrated that I can't figure it out by myself haha. Any tips?

    • Jenna Molby

      Hi Daisy, So happy you like it! It’s difficult to figure out your issue without seeing the form. Please send the link to [email protected] and I can take a look for you. Cheers, Jenna

  5. FYI – if anyone is having problems with the checkbox not centering in the box, I made a tiny adjustment to the “style the unchecked checkbox” section. I removed the “display: inline-block;” and add a transparent check to the box (the square shape collapsed when the display setting was removed). The form does not recognize this transparent check as a check and still forces the user to check the box if the field is required.

    .pd-checkbox input + label:before {
    content: “f00c”;
    font-family: ‘FontAwesome’;
    background: transparent;
    color: transparent !important;
    border: 2px solid #ddd;
    vertical-align: middle;
    width: 10px !important;
    height:10px !important;
    padding: 2px;
    margin-right: 10px;
    text-align: center;
    font-size:15px;
    line-height:18px;
    }

Write A Comment