Az indításhoz kattints a Küldés gombra. A jelenlegi CSS állapot így kell kinézzen:
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;
}Ez a szintaxis az alábbi eredményhez vezet:

Ez egy teljesen normál gomb. Jelenleg nem túl izgalmas a megjelenése, de abszolút betölti a célját. Ennek ellenére kissé feldobnánk. A végeredmény így fog kinézni:
Emellett van egy Hover-hatás is. Tehát a gomb színe megváltozik, amikor a kurzorral ráhúzol.
Ha jobban megnézed a gombot, észre fogod venni a lekerekített sarkokat. Ez kétségtelenül az egyik CSS újítás, amire a webdizájnerek hosszú ideje vártak. Korábban ez a lehetőség nem állt rendelkezésre. (A kivétel az volt persze, amikor a képeket használták button elemeknél.)
Tehát mostantól a lekerekített sarkok nemcsak az átlagos lap elemekre alkalmazhatók, hanem a gombokra is.
A CSS3-as tervezet szerint erre az border-radius tulajdonságot használjuk. Mozilla és WebKit böngészők alternatív írásmódot kínálnak az e tulajdonság kísérleti támogatására.
• -moz-border-radius
• -webkit-border-radius
Közben azonban az összes modern böngésző támogatja a lekerekített sarkokat.
Ez alapján a border-radius definíciója így nézhet ki:
-webkit-border-radius: 17px; -moz-border-radius: 17px; border-radius: 17px;
Azonban egy más dolog is feltűnhet, ha alaposabban megnézed. Valójában átmenetet is hozzárendeltünk a gombhoz.
Ezt végre lehet hajtani CSS eszközökkel is. Ehhez a gradient tulajdonságokat használjuk. Ezeket értékként a background tulajdonsághoz rendeljük. Közben már rengeteg eszköz létezik, amely segít a színhelyek generálásában.
Ezek egyike például megtalálható a következő oldalon: http://www.css3factory.com/linear-gradients/. A következő szintaxisban egy színátmenetet és a már ismert lekerekített sarkokat értelmeztük.
Az aktuális példában a gomb szintaxisa így alakul:
input[type="submit"] {
border-top: 1px solid #96d1f8;
background: #65a9d7;
background: -webkit-gradient(linear, left top, left bottom, from(#3e779d), to(#65a9d7));
background: -webkit-linear-gradient(top, #3e779d, #65a9d7);
background: -moz-linear-gradient(top, #3e779d, #65a9d7);
background: -ms-linear-gradient(top, #3e779d, #65a9d7);
background: -o-linear-gradient(top, #3e779d, #65a9d7);
background: -linear-gradient(top, #3e779d, #65a9d7);
padding: 10px 20px;
-webkit-border-radius: 17px;
-moz-border-radius: 17px;
border-radius: 17px;
-webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
-moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
box-shadow: rgba(0,0,0,1) 0 1px 0;
text-shadow: rgba(0,0,0,.4) 0 1px 0;
color: white;
font-size: 21px;
font-family: 'Lucida Grande', Helvetica, Arial, Sans-Serif;
text-decoration: none;
vertical-align: middle;
width: auto;
}
Már jeleztem, hogy a gombokra reagálni kell az egérrel történő ráviharáskor. Ehhez használjuk a jól ismert :hover-t.
#submit:hover {
border-top-color: #28597a;
background: #28597a;
color: #ccc;
}A gomb egy másik eseményre is reagálni fog. Erre a Pseudo-osztályt használjuk: :active. Ezáltal reagálunk, amikor a gombra kattintanak.
#submit:active {
border-top-color: #1b435e;
background: #1b435e;
}
Az aktuális példában a gomb felső szegélyének színe és a háttérszín megváltozik a gombra kattintáskor.
Kerek sarkok az űrlapmezőkhöz
Az úgynevezett kerek sarkokat természetesen nem csak a gombokra alkalmazhatjuk, hanem az űrlapmezők is felruházhatók velük. Az eredmény így nézhet ki:
És íme a hozzá tartozó szintaxis:
input[type="text"], input[type="email"], textarea {
border: 1px solid #bebebe;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
border-radius: 9px;
}
Azokat a tulajdonságokat, amelyekre az ilyen kerek sarkok meghatározásához szükség van, már ismered.
Űrlapellenőrzés CSS3 segítségével
Jelenleg a látogatók bármilyen adatot megadhatnak az űrlapmezőkben. Az adatok érvényességét nem ellenőrizzük. Ez most megváltozik. Az űrlapmezőket az alábbi szempontok szerint fogjuk ellenőrizni:
• A Név-mezőt meg kell adni.
• Az E-mail-mező tartalmaznia kell egy szintaktikailag helyes e-mail címet.
• A többsoros mező is ki kell legyen töltve.
Csak akkor lehet valóban elküldeni az űrlapot, ha ezek a szempontok teljesülnek.
Egy mezőt kötelező értékként jelölni a required attribútum hozzárendelésével lehet. Egy ilyen attribútummal ellátott mezőt ki kell tölteni, tehát nem lehet üres.
Amelyikre vonatkozik ez az alkalmazás, így néz ki:
<form> <input type="text" name="name" id="name" value="" required/> </form>
Itt a böngésző ellenőrizné, hogy a mezőt kitöltötték-e. Ha a mező üres, és mégis megpróbálják elküldeni az űrlapot, a böngészőnek hibaüzenetet kellene kiadnia.
Egy kicsit tovább megy a dolog az e-mail mezőknél. Ezekhez type="email" és az required attribútumot rendeljük. Most már nem csak értéknek kell megfelelően kitölteni a mezőt, hanem ténylegesen helyes e-mail-címet kell beírni, különben szintén hibaüzenetet kapunk az űrlap elküldésekor.
Összességében az űrlap így nézhet ki:
<ol>
<li>
<label for="name">Név:</label>
<input type="text" name="name" id="name" value="" required/>
</li>
<li>
<label for="email">E-mail cím:</label>
<input type="email" name="email" id="email" value="" required/>
</li>
<li>
<label for="comment">Megjegyzés:</label>
<textarea cols="32" rows="7" name="content" id="content" required></textarea>
</li>
<li class="button">
<input type="submit" name="submit" id="submit" value="Küldés" />
</li>
</ol>
Kifejezetten bonyolultabb űrlapok esetén előfordulhat, hogy vannak kötelezően kitöltendő mezők, de olyanok is, amelyeket nem feltétlenül kell kitölteni. Ilyen esetekben külön megjelölhetitek a kötelező mezőket. A kötelező mezőkhöz CSS segítségével a :required hozzáfére.
:required {
background-color: #ff0000;
}Ez a szintaxis piros háttérszínt ad a kötelező mezőknek.
Egy másik módszer arra, hogy felhívjuk a figyelmet a kötelező mezőkre, a következő szintaxis:
input:required:focus {
border: 1px solid red;
outline: none;
}
Ha megpróbálnak elküldeni az űrlapot, az első mező piros keretet kap és fókuszba kerül, ha az nincs kitöltve vagy nem felel meg az érvényesítési követelményeknek.
Ha valaki aztán helyesen kitölti ezt a mezőt, de van még egy kitöltetlen mező, akkor annak a következő elküldési látogatás során szintén fókuszba kell kerülnie és piros kerettel kell rendelkeznie.