Hoe te maken: afrekeningsformulier

Leer hoe je een responsief afrekeningsformulier maakt met CSS.

Responsieve afrekeningsformulier

Rekeningadres


Betaling


Winkelwagen 4

Item 1 $15

Item 2 $5

Item 3 $8

Item 4 $2


Totaal $30

Probeer het zelf

Hoe een afrekenings tabel te maken

Stap 1 - Voeg HTML toe:

Gebruik het <form>-element om invoer te verwerken. Lees meer over dit onderwerp in onze PHP-tutorials.

<div class="row">
  <div class="col-75">
    <div class="container">
      <form action="/action_page.php">
        <div class="row">
          <div class="col-50">
            <h3>Billing Address</h3>
            <label for="fname"><i class="fa fa-user"></i> Full Name</label>
            <input type="text" id="fname" name="firstname" placeholder="John M. Doe">
            <label for="email"><i class="fa fa-envelope"></i> Email</label>
            <input type="text" id="email" name="email" placeholder="john@example.com">
            <label for="adr"><i class="fa fa-address-card-o"></i> Address</label>
            <input type="text" id="adr" name="address" placeholder="542 W. 15th Street">
            <label for="city"><i class="fa fa-institution"></i> City</label>
            <input type="text" id="city" name="city" placeholder="New York">
            <div class="row">
              <div class="col-50">
                <label for="state">State</label>
                <input type="text" id="state" name="state" placeholder="NY">
              </div>
              <div class="col-50">
                <label for="zip">Zip</label>
                <input type="text" id="zip" name="zip" placeholder="10001">
              </div>
            </div>
          </div>
          <div class="col-50">
            <h3>Payment</h3>
            <label for="fname">Accepted Cards</label>
            <div class="icon-container">
              <i class="fa fa-cc-visa" style="color:navy;"></i>
              <i class="fa fa-cc-amex" style="color:blue;"></i>
              <i class="fa fa-cc-mastercard" style="color:red;"></i>
              <i class="fa fa-cc-discover" style="color:orange;"></i>
            </div>
            <label for="cname">Name on Card</label>
            <input type="text" id="cname" name="cardname" placeholder="John More Doe">
            <label for="ccnum">Credit card number</label>
            <input type="text" id="ccnum" name="cardnumber" placeholder="1111-2222-3333-4444">
            <label for="expmonth">Exp Month</label>
            <input type="text" id="expmonth" name="expmonth" placeholder="September">
            <div class="row">
              <div class="col-50">
                <label for="expyear">Uitgaande jaar</label>
                <input type="text" id="expyear" name="expyear" placeholder="2018">
              </div>
              <div class="col-50">
                <label for="cvv">CVV</label>
                <input type="text" id="cvv" name="cvv" placeholder="352">
              </div>
            </div>
          </div>
        </div>
        <label>
          <input type="checkbox" checked="checked" name="sameadr"> Leveringsadres hetzelfde als rekeningadres
        </label>
        <input type="submit" value="Doorgaan naar afrekenen" class="btn">
      </form>
    </div>
  </div>
  <div class="col-25">
    <div class="container">
      <h4>Winkelwagen
        <span class="price" style="color:black">
          <i class="fa fa-shopping-cart"></i>
          <b>4</b>
        </span>
      </h4>
      <p><a href="#">Product 1</a> <span class="price">$15</span></p>
      <p><a href="#">Product 2</a> <span class="price">$5</span></p>
      <p><a href="#">Product 3</a> <span class="price">$8</span></p>
      <p><a href="#">Product 4</a> <span class="price">$2</span></p>
      <hr>
      <p>Totaal <span class="price" style="color:black"><b>$30</b></span></p>
    </div>
  </div>
</div>

Tweede stap - Voeg CSS toe:

Gebruik CSS Flexbox om een responsieve lay-out te maken:

.rij {
  weergave: -ms-flexbox; /* IE10 */
  weergave: flex;
  -ms-flex-wrap: vouwen; /* IE10 */
  flex-wrap: vouwen;
  marge: 0 -16 px;
}
.col-25 {
  -ms-flex: 25%; /* IE10 */
  flex: 25%;
}
.col-50 {
  -ms-flex: 50%; /* IE10 */
  flex: 50%;
}
.col-75 {
  -ms-flex: 75%; /* IE10 */
  flex: 75%;
}
.col-25,
.col-50,
.col-75 {
  vulling: 0 16 px;
}
.container {
  achtergrond-kleur: #f2f2f2;
  vulling: 5 px 20 px 15 px 20 px;
  rand: 1 px vast grijs;
  hoek-radius: 3 px;
}
input[type=text] {
  breedte: 100%;
  margin-bodem: 20 px;
  vulling: 12 px;
  rand: 1 px vast zand;
  hoek-radius: 3 px;
}
etiket {
  marge-bodem: 10 px;
  weergave: blok;
}
.icon-container {
  margin-bodem: 20 px;
  vulling: 7 px 0;
  letter-grootte: 24 px;
}
.knop {
  achtergrond-kleur: #04AA6D;
  kleur: wit;
  vulling: 12 px;
  marge: 10 px 0;
  rand: geen;
  breedte: 100%;
  hoek-radius: 3 px;
  cursor: wijzer;
  letter-grootte: 17 px;
}
.knop:hover {
  achtergrond-kleur: #45a049;
}
span.prijs {
  zeil: recht;
  kleur: grijs;
}
/* Responsieve lay-out - wanneer het schermwijdte kleiner is dan 800 px, stack de twee kolommen in plaats van naast elkaar (en wijzig de richting - plaats de 'wagen' kolom bovenaan) */
@media (max-wijdte: 800 px) {
  .rij {
    flex-richting: omgekeerde-kolom;
  }
  .col-25 {
    margin-bodem: 20 px;
  }
}

Probeer het zelf

Gerelateerde pagina's

Handleiding:HTML formulier

Handleiding:CSS formulier

Handleiding:CSS Flexbox