Create a Simple Credit Card Form Using HTML and CSS3


Creating a seamless and user-friendly credit card UI is crucial for a smooth online transaction experience. In this tutorial, we will guide you on designing an effective credit card form using HTML and CSS3. By following our recommendations and tips, you can ensure that your credit card UI is intuitive, user-friendly, and secure.

Credit Card Final Preview

Designing a Credit Card UI

Designing an intuitive and user-friendly credit card UI is essential for a seamless user experience during online transactions. Here are some recommendations and tips to consider when creating a credit card UI:

  1. Intuitive Layout: Arrange the credit card input fields logically, following the order of a physical credit card (card number, expiration date, CVV code). This helps users quickly fill in the required information.
  2. Card Preview: Incorporate a visual representation of a credit card that updates as users input their information. This preview helps users verify their details and reduces errors.
  3. Responsive Input Fields: Implement input fields that automatically format and validate user input as they type. For example, add spaces between every four digits of the card number and move to the next input field when the previous one is completed.
  4. Input Field Icons: Utilize icons to represent different input fields, such as a calendar icon for the expiration date and a lock icon for the CVV code. Visual cues like these assist users in identifying the required information.
  5. Clear Error Messages: Provide specific and actionable error messages when users enter incorrect information. Clear guidance helps users identify and correct mistakes promptly.
  6. Card Type Detection: Automatically detect the type of credit card being used (e.g., Visa, Mastercard, American Express) based on the card number and display the corresponding card logo. This enhances the user experience and ensures the correct card is used.
  7. Autofill Support: Integrate support for browser autofill features, allowing users to quickly fill in their credit card information if saved in their browser.
  8. Accessibility: Ensure your credit card UI is accessible to users with disabilities by following accessibility guidelines such as WCAG. Use proper labels, alternative text, and appropriate color contrast to cater to users with varying needs.
  9. Security Assurance: Display security badges or messages to reassure users that their credit card information is handled securely. This builds trust and confidence in the transaction process.
  10. Mobile Optimization: Optimize the credit card UI for mobile devices by making input fields large enough for easy tapping, using mobile-friendly keyboards, and ensuring responsive design.
See also  Hire a Skilled Freelance HTML Email Developer

By incorporating these recommendations and tips, you can create an intuitive, user-friendly, and secure credit card UI that encourages successful transactions and reduces user frustration.

HTML Structure

To get started, let’s create the HTML structure for our credit card form.

<form class="credit-card">
  <div class="form-header">
    <h4 class="title">Credit card detail</h4>
  <div class="form-body">
    <!-- Card Number -->
    <input type="text" class="card-number" placeholder="Card Number">

    <!-- Date Field -->
    <div class="date-field">
      <div class="month">
        <select name="Month">
          <option value="january">January</option>
          <option value="february">February</option>
          <option value="march">March</option>
          <option value="april">April</option>
          <option value="may">May</option>
          <option value="june">June</option>
          <option value="july">July</option>
          <option value="august">August</option>
          <option value="september">September</option>
          <option value="october">October</option>
          <option value="november">November</option>
          <option value="december">December</option>
      <div class="year">
        <select name="Year">
          <option value="2016">2016</option>
          <option value="2017">2017</option>
          <option value="2018">2018</option>
          <option value="2019">2019</option>
          <option value="2020">2020</option>
          <option value="2021">2021</option>
          <option value="2022">2022</option>
          <option value="2023">2023</option>
          <option value="2024">2024</option>

    <!-- Card Verification Field -->
    <div class="card-verification">
      <div class="cvv-input">
        <input type="text" placeholder="CVV">
      <div class="cvv-details">
        <p>3 or 4 digits usually found <br> on the signature strip</p>

    <!-- Buttons -->
    <button type="submit" class="proceed-btn"><a href="#">Proceed</a></button>
    <button type="submit" class="paypal-btn"><a href="#">Pay With</a></button>

CSS Styling

To style the credit card form, make sure to include the CSS file and font in the head of your HTML document. We will use the “Roboto” font for this tutorial, which is available for download from Google Fonts.

<link href=',300,100' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="style.css">

Next, let’s apply some basic styling to the body and set the font family to “Roboto”.

/* Global */
* {
  box-sizing: border-box;

body, html {
  height: 100%;
  min-height: 100%;

body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  background-color: #e7e7e7;

Now, let’s style the credit card itself by setting its width, height, margins, borders, and background color.

/* Credit Card */
.credit-card {
  width: 360px;
  height: 400px;
  margin: 60px auto 0;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 1px 2px 3px 0 rgba(0, 0, 0, .10);

To give structure to our form, let’s add height and padding to the form header and form body.

/* Form Header */
.form-header {
  height: 60px;
  padding: 20px 30px 0;
  border-bottom: 1px solid #e1e8ee;

/* Form Body */
.form-body {
  height: 340px;
  padding: 30px 30px 20px;

To style the title, set its font size, color, and margins.

/* Title */
.title {
  font-size: 18px;
  margin: 0;
  color: #5e6977;

Next, apply common styling to form elements, including input fields and selects.

/* Common */
.card-number, .cvv-input input, .month select, .year select {
  font-size: 14px;
  font-weight: 100;
  line-height: 14px;

.card-number, .month select, .year select {
  font-size: 14px;
  font-weight: 100;
  line-height: 14px;

.card-number, .cvv-details, .cvv-input input, .month select, .year select {
  opacity: .7;
  color: #86939e;

Now, let’s style each form element individually. Starting with the card number field, set its width, margins, padding, border, and border-radius.

/* Card Number */
.card-number {
  width: 100%;
  margin-bottom: 20px;
  padding-left: 20px;
  border: 2px solid #e1e8ee;
  border-radius: 6px;

For the date field, float the month select to the left, the year select to the right, and apply basic styles.

/* Date Field */
.month select, .year select {
  width: 145px;
  margin-bottom: 20px;
  padding-left: 20px;
  border: 2px solid #e1e8ee;
  border-radius: 6px;
  background: url('caret.png') no-repeat;
  background-position: 85% 50%;
  -moz-appearance: none;
  -webkit-appearance: none;

.month select {
  float: left;

.year select {
  float: right;

Style the card verification field by floating the input to the left, setting its width, padding, border, and background color. Also, add styling to the cvv-details section.

/* Card Verification Field */
.cvv-input input {
  float: left;
  width: 145px;
  padding-left: 20px;
  border: 2px solid #e1e8ee;
  border-radius: 6px;
  background: #fff;

.cvv-details {
  font-size: 12px;
  font-weight: 300;
  line-height: 16px;
  float: right;
  margin-bottom: 20px;

Lastly, style the buttons section by setting their cursor, font size, width, border color, and border-radius. Also, apply specific styles to the PayPal button.

/* Buttons Section */
.paypal-btn, .proceed-btn {
  cursor: pointer;
  font-size: 16px;
  width: 100%;
  border-color: transparent;
  border-radius: 6px;

.proceed-btn {
  margin-bottom: 10px;
  background: #7dc855;

.paypal-btn a, .proceed-btn a {
  text-decoration: none;

.proceed-btn a {
  color: #fff;

.paypal-btn a {
  color: rgba(242, 242, 242, .7);

.paypal-btn {
  padding-right: 95px;
  background: url('paypal-logo.svg') no-repeat 65% 56% #009cde;

Great work! Now our credit card form is complete and visually appealing.

See also  Dreamweaver Html Email Templates

Credit Card CSS


Congratulations on completing this tutorial! We hope you found it useful and learned something new. Feel free to use this credit card form for your next project or personal website.

Download the Credit Card HTML

If you have any questions or suggestions, please feel free to post them in the comments.