MrMurphy1: Formular gestalten

Beitrag lesen

Hallo

In meinem Beispiel gibt es einen Fehler, der mehrfach vorkommt. Das habe ich mal korrigiert und an einigen anderen Stellen Änderungen vorgenommen. Zunächst das korrgierte CSS:

#anfrage-startseite {
   width: 96%;
   margin: 1rem;
   display: flex;
   flex-wrap: wrap;
}
#anfrage-startseite>:nth-child(-2n+5) {
   margin-right: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: 26%;
   order: 1;
}
#anfrage-startseite>:nth-child(-2n+6) {
   margin-bottom: 1rem;
   margin-right: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: 26%;
   order: 2;
}
#anfrage-startseite>:nth-child(7) {
   margin-right: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: 100%;
   order: 3;
}
#anfrage-startseite>:nth-child(8) {
   margin-right: 1rem;
   margin-bottom: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: 100%;
   order: 3;
}
#anfrage-startseite>:nth-child(9),
#anfrage-startseite>:nth-child(11) {
   margin-right: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: 34%;
   order: 4;
}
#anfrage-startseite>:nth-child(10),
#anfrage-startseite>:nth-child(12) {
   margin-right: 1rem;
   margin-bottom: 1rem;
   flex-grow: 1;
   flex-shrink: 1;
   flex-basis: calc(50% - 1rem);
   order: 5;
}
#anfrage-startseite>:nth-child(13) {
   margin-right: 1rem;
   flex-grow: 0;
   flex-shrink: 1;
   flex-basis: auto;
   order: 6;
}

Und noch mal die korrigierte gesamte Seite:

<!DOCTYPE html>
<html lang="de">
<head>
   <meta charset="utf-8">
   <title>Formular Layout 01</title>
   <meta name="description" content="HTML5, CSS3">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <!--[if lt IE 9]>
      <script src="http://html5shiv-printshiv.googlecode.com/svn/trunk/html5shiv-printshiv.js"></script>
   <![endif]-->
   <style>

   @media all {
      header, nav, main, aside, footer, section, article, figure, figcaption, audio, video {
         display: block;
      }
      * {
         box-sizing: border-box;
      }
      html {
         font-family: sans-serif;
         font-size: 120%;
         line-height: 1.3;
      }
      body {
         margin: 0;
      }
      #anfrage-startseite {
         width: 96%;
         margin: 1rem;
         display: flex;
         flex-wrap: wrap;
      }
      #anfrage-startseite>:nth-child(-2n+5) {
         margin-right: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 26%;
         order: 1;
      }
      #anfrage-startseite>:nth-child(-2n+6) {
         margin-bottom: 1rem;
         margin-right: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 26%;
         order: 2;
      }
      #anfrage-startseite>:nth-child(7) {
         margin-right: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 100%;
         order: 3;
      }
      #anfrage-startseite>:nth-child(8) {
         margin-right: 1rem;
         margin-bottom: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 100%;
         order: 3;
      }
      #anfrage-startseite>:nth-child(9),
      #anfrage-startseite>:nth-child(11) {
         margin-right: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 34%;
         order: 4;
      }
      #anfrage-startseite>:nth-child(10),
      #anfrage-startseite>:nth-child(12) {
         margin-right: 1rem;
         margin-bottom: 1rem;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: calc(50% - 1rem);
         order: 5;
      }
      #anfrage-startseite>:nth-child(13) {
         margin-right: 1rem;
         flex-grow: 0;
         flex-shrink: 1;
         flex-basis: auto;
         order: 6;
      }
   }
   @media only screen and (max-width: 750px) {
      #anfrage-startseite {
         width: 98%;
         padding: 0.5rem;
         margin: 1rem 0;
      }
      #anfrage-startseite>:nth-child(-1n+12) {
         margin-right: 0;
         flex-grow: 1;
         flex-shrink: 1;
         flex-basis: 100%;
         order: 0;
      }
      #anfrage-startseite>:nth-child(13) {
         flex-grow: 0;
         flex-shrink: 0;
         flex-basis: auto;
      }
   }

   </style>
</head>
<body>
   <section>

      <form action="" id="anfrage-startseite">

         <label for="name">Ihr Name <span class="req">*</span></label>
         <input type="text" name="name" id="name" value="" required>

         <label for="mail">Ihre E-Mail Adresse <span class="req">*</span></label>
         <input type="email" name="mail" id="mail" value="" required>

         <label for="telefon">Ihre Rückrufnummer</label>
         <input type="tel" name="telefon" id="telefon" value="">

         <label for="nachricht">Ihre Anfrage</label>
         <textarea name="nachricht" id="nachricht" required></textarea>

         <label for="budget">Wie hoch ist das Budget?</label>
         <select name="budget" id="budget">
            <option value="">Bitte auswählen</option>
            <option value="500€ - 1.000€">500€ - 1.000€</option>
            <option value="1.000€ - 2.000€">1.000€ - 2.000€</option>
            <option value="2.000€ - 3.500€">2.000€ - 3.500€</option>
            <option value="3.500€ - 5.000€">3.500€ - 5.000€</option>
            <option value="5.000€ - 6.500€">5.000€ - 6.500€</option>
            <option value="6.500€ - 8.500€">6.500€ - 8.500€</option>
            <option value="10.000€+">10.000€+</option>
         </select>

         <label for="terminplanung">Terminplanung?</label>
         <select name="terminplanung" id="terminplanung">
            <option value="">Bitte auswählen</option>
            <option value="Sofort">Sofort</option>
            <option value="In den nächsten 4 Wochen">In den nächsten 4 Wochen</option>
            <option value="In den nächsten 2 Monaten">In den nächsten 2 Monaten</option>
            <option value="3 Monate - 4 Monate">3 Monate - 4 Monate</option>
            <option value="5 Monate und mehr...">5 Monate und mehr...</option>
         </select>

         <button type="button" id="anfrage-abschicken">Anfrage abschicken</button>

      </form>

   </section>
</body>
</html>

Gruss

MrMurphy