HTML & CSS pre začiatočníkov

HTML a CSS pre začiatočníkov (časť 46): Kontaktný formulár (1)

Všetky videá tutoriálu HTML & CSS pre začiatočníkov.

Predpokladám, že vytvoríte ďalší HTML súbor. Ja ho uložím pod názvom kontakt.html. Kontakt.html sa nachádza na rovnakej úrovni ako už známa index.html.

V tomto prvom kroku sa vykonajú základné nastavenia formulára. Veci ako zaoblené rohy, farba atď. budú nasledovať v nasledujúcom návode.

V rámci kontakt.html vytvoríte formulár. Formulár sa definuje v rámci oblasti div s triedou content. Potom sa rozhodnite, aké polia chcete vytvoriť. Rozhodol som sa získať nasledujúce informácie:

• Meno
• Emailová adresa
• Komentár

Sami si musíte zvoliť, aké informácie chcete získať. V prípade potreby vám odporúčam získať len skutočne potrebné údaje. Väčšina návštevníkov webových stránok sa totiž vyhýba rozsiahlym formulárom. Udržte to teda stručné.

Základná štruktúra môjho formulára vyzerá nasledovne:

<div class="content">
   <form class="form" action="#" method="post">
   <fieldset>
   <legend>Kontaktujte nás</legend>
   <ol>
      <li>
      <label for="name">Meno:</label>
      <input type="text" name="name" id="name" value="" />
      </li>
      <li>
      <label for="email">Emailová adresa:</label>
      <input type="text" name="email" id="email" value="" />
      </li>
      <li>
      <label for="comment">Komentár:</label>
      <textarea cols="32" rows="7" name="content" id="content"></textarea>
      </li>
      <li class="button">
      <input type="submit" name="submit" id="submit" value="Odoslať" />
      </li>
   </ol>
   </fieldset>
   </form>
</div>

Formulár neobsahuje výrazné špecifikácie. Okolo formulárových polí bolo použité fieldset. Ako sa vytvárajú formulárové polia a čo znamenajú prvky label, bolo už dostatočne opísané. Na tejto úrovni je preto dôležitá úplná koncentrácia na dizajn formulára.

Po zobrazení výsledku v prehliadači sa na prvý pohľad zobrazí formulár, ktorý nie je veľmi atraktívny.

HTML & CSS pre začiatočníkov (časť 46): Kontaktný formulár (1)



Je potrebné to ešte vylepšiť.

Na začiatku sú uvedené základné údaje o formulári.

form {
   padding: 3px 0 0;
   margin: 10px auto;
   width: 550px;
 }



Tu sú definované vonkajšie a vnútorné okraje. Zároveň je šírka formulára nastavená na 550 pixelov.

Pokračujeme s dizajnom fieldset.

fieldset {
   padding: 10px 20px 25px;
 }



Opäť tu sú definované okraje.

Samotné formulárové polia sú zoradené v usporiadanej zozname ol.

ol {
   list-style-type: none;
   margin: 0;
   padding: 0;
 }



Aby sa tento zoznam opticky nezobrazil ako zoznam, používa sa list-style-type: none;. Zároveň sa okraje a vnútorný okraj nastavia na hodnotu 0.

Ďalším krokom je definovanie prvkov zoznamu. Tieto sa zarovnajú doľava a majú vnútorný okraj 10 pixelov.

li {
   float: left;
   padding: 10px;
 }



Máme tu ešte zvláštnosť týkajúcu sa tlačidla umiestneného pod formulárom. Toto tlačidlo má byť zarovnané vpravo.

li.button {
   float: none;
   clear: both;
   text-align: right;
 }

Názov formulára

Teraz sa venujeme prvku legend. Tým je definovaný nadpis formulára.

HTML a CSS pre začiatočníkov (časť 46): Kontaktný formulár (1)



Definícia pre nadpis vyzerá nasledovne:

fieldset legend {
   font-weight: bold;
   font-size: 22px;
   margin: 20px 0 0 10px;
 }

Popisky

Prvok label vám už bol predstavený v rámci tejto série. Prostredníctvom tohto label sa môže vytvoriť logická väzba medzi popisom poľa a samotným formulárnym poľom. Vzhľadom na definíciu CSS tu existuje jedna výnimka.

label {
   display: block;
   cursor: pointer;
   font-weight: bold;
   line-height: 24px;
 }



Prvok label je vybavený medzi iným informáciou o kurzore pomocou cursor. Tým sa návštevníkom signalizuje, že popisky polí sú klikateľné. Po kliknutí na popis poľa sa kurzor automaticky presunie do príslušného polia.

HTML a CSS pre začiatočníkov (časť 46): Kontaktný formulár (1)

Dizajnovanie formulárových polí

V ďalšom kroku sa bude dizajnovanie skutočných formulárových polí. Najprv sa urobia všeobecné údaje pre input a textarea.

input, textarea {
   color: #3399FF;
   border: 1px solid #3399FF;
   font: 13px Helvetica, Arial, sans-serif;
   padding: 8px 10px;
   width: 190px;
 }



Jedná sa výlučne o dizajnové veci. Osobitná pozornosť by sa mala venovať rámom. Keď sa kurzor umiestni do políčka, zmení sa farba rámčeka. Mimochodom, to nie je len estetický aspekt. V skutočnosti to aj pomáha návštevníkom pri vyplňovaní formulára. Vďaka tomu vedia vždy okamžite, v ktorom poli sa kurzor práve nachádza.

Teraz nasledujú niektoré informácie o viacrozmernom vstupnom poli.

textarea {
   width: 430px;
   overflow: auto;
 }



Šírka tohto poľa je nastavená na 430 pixelov. Možno sa zdá trochu zvláštne na prvý pohľad inštrukcia overflow: auto v súvislosti s viacrozmernými vstupnými poliami. Tento riadok je však zapríčinený starším verziám Internet Exploreru. Skutočne tento prehliadač zobrazoval posuvníky aj vtedy, keď to v viacrozmerných vstupných poliach nebolo potrebné. Pomocou overflow: auto sa dá tento problém odstrániť.

Nastavenie tlačidla Odoslať

Aktuálne tlačidlo Odoslať vyzerá dosť nudne. To sa teraz zmení. Výsledok bude vyzerať nasledovne:

HTML & CSS pre začiatočníkov (časť 46): Formulár na kontakt (1)



Rôznym vlastnostiam sa pridelenie tlačidla.

• Farba pozadia

• Vzhľad písma

• Rámček

• Medzery

CSS syntax patrícemu k tomu vyzera nasledovne:

input[type="submit"] {
   background-color: #3399FF;
   color: #fff;
   cursor: pointer;
   font: bold 1em/1.2 Georgia, "Times New Roman ", serif;
   border: 1px solid #000;
   padding: 5px 10px;
   width: auto;
 }



Zaujímavé je tu možno ešte uviesť input[type="submit"]. Týmto selektorom sa pristupuje k prvkom input, ktoré majú kombináciu atribútu a hodnoty type="submit".