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.
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.
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.
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:
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"
.