Większość programistów tworzy buttony w programach graficznych. Jednakże, można zrobić to o wiele łatwiej bez konieczności umieszczania grafiki na serwerze. Jak wiadomo im szybciej strona się ładuje tym lepiej; krótki czas ładowania strony ma ogromne znaczenie dla wyszukiwarek i każdy specjalista SEO powinien o tym wiedzieć. Poza tym strona obładowana grafiką nie łąduje się szybko na wolnych łączach internetowych.

Aby stworzyć button skorzystam z kilku efektów CCS3 takich jak text-shadow, box-shadow, linear gradient oraz border-radius.

  • text-shadow – odpowiada za cieniowanie tekstu
  • box-shadow odpowiada za cieniowanie pojemnika(kontenera, warstwy itp)
  • border-radius – jest to efekt, który zaokrągli nam warstwę.

Kod CSS:

.button {
   border-top: 1px solid #96d1f8; /* ustawienie górnego obramowania na kolor #96d1f8*/
   /* ustawienie tła dla różnych przeglądarek jako gradient zaczynający sięod koloru #3e779d a kończący na #65a9d7 */
   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);
   padding: 14.5px 29px; /* ustawienie paddingów dla elementu */
   /*ustawienie zaokrąglenia elementu na 20 pikseli*/
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   border-radius: 20px;
   /* ustawienie cienia dla elementu */
   -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;
   /* ustawienie cienia dla tekstu*
   text-shadow: rgba(0,0,0,.4) 0 1px 0;
   color: white; /* ustawienie koloru tekstu */
   /* ustawienie rozmiaru oraz kroju czcionki*/
   font-size: 19px;
   font-family: Georgia, serif;
   /* brak domyślnej dekoracji tekstu przydatne np przy elementach typu <a> */
   text-decoration: none;
   /* wyśrodkowanie elementów w pojemniku */
   vertical-align: middle;
   }
/* style dla klasy podczas najechania buttona */
.button:hover {
   border-top-color: #28597a;
   background: #28597a;
   color: #ccc;
   }
/* style dla klasy gdy button jest aktywny  */
.button:active {
   border-top-color: #1b435e;
   background: #1b435e;
   }

Dzięki temu krótkiemu kodowi w CSS3 możemy stworzyć button, który wygląda tak:

Przykładowy button