Autor wpisu: Wojciech Sznapka, dodany: 02.09.2012 13:47, tagi: php, symfony
Autor wpisu: Łukasz Socha, dodany: 01.09.2012 21:32, tagi: css
pobierz w .pdf(przeznaczone do wydruku)
CSS 3 dostarcza wiele nowości, które z pewnością ułatwią i przyspieszą pracę nad atrakcyjnymi wizualnie projektami. Mimo, że CSS 3 jest jeszcze w fazie implementacji przez wszystkich najważniejszych producentów przeglądarek, warto powoli zaznajamiać się z możliwościami tej technologii
Osobiście najbardziej nie lubię tworzyć wszelkiej maści formularzy. Nie dość, że trzeba napisać wiele linii kodu, to jeszcze istnieją ograniczenia technologiczne. Co nowego przynosi CSS 3 na tym polu?
Nowa wersja CSS „potrafi” rozróżniać różne typy pół formularza – zamiast pisać osobne klasy dla checkbox czy radio będziemy mogli napisać input[type=checkbox]. Prawda, że dużo lepiej tak wygląda? Poza tym, w końcu, będziemy mogli dowolnie edytować wygląd pól typu radio i checkbox bez utycia JavaScriptu – tak na marginesie, nie rozumiem czemu dopiero teraz deweloperzy umożliwią to. Inną przydatną nowością jest pseudoklasa :focus.
Żeby nie było tylko teoretycznie zamieszczam kod przykładowego formularza kontaktowego z wykorzystaniem CSS 3:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>...</title> <style type="text/css"> body{ font-family: Arial, sans-serif; font-size:14px; padding: 30px; } label{ width:100px; display: inline-block; } input, textarea{ margin: 5px 0; border:1px solid #BAE1FF; border-radius: 5px; -webkit-appearance: none; -moz-appearance: none; background-image: linear-gradient(top, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -o-linear-gradient(top, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -moz-linear-gradient(top, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -webkit-linear-gradient(top, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -ms-linear-gradient(top, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgb(255,255,255)), color-stop(1, rgb(226,242,252)) ); } textarea{ width:400px; height: 200px; } input[type=text] { width:150px; height: 26px; margin-left: 5px; } input:focus, textarea:focus, select:focus { outline-color: #0090FF; ackground-image: linear-gradient(bottom, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -o-linear-gradient(bottom, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -moz-linear-gradient(bottom, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -webkit-linear-gradient(bottom, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -ms-linear-gradient(bottom, rgb(255,255,255) 0%, rgb(226,242,252) 100%, rgb(57,101,133) 84%); background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(255,255,255)), color-stop(1, rgb(226,242,252)) ); } input[type=checkbox] { width:20px; height: 20px; border-radius: 2px; vertical-align: middle; margin-right: 5px; } input[type=checkbox]:checked { background: url('images/checkbox.png') center no-repeat;; } input[type=submit] { background: #0199FA; color: #ffffff; font-weight: bold; padding: 5px 15px; } input[type=reset] { background: #DEF3FF; color: #0784CE; font-weight: bold; padding: 5px 15px; margin-left: 10px; } </style> </head> <body> <form> <label for="name">Imię i nazwisko:</label> <input type="text" name="name" /><br /> <label for="email">Adres e-mail:</label> <input type="text" name="email" /><br /> <label for="message">Treść: </label><br /> <textarea placeholder="Wpisz treść" name="message"></textarea><br/> <input type="checkbox" name="send"/> Wyślij kopię na mojego e-maila.<br /> <input type="submit" value="Wyślij" /><input type="reset" value="Wyczyść" /> </form> </body> </html>
Jak to wygląda w praktyce możecie zobaczyć tutaj.
W połączeniu nowości CSS 3 z możliwościami Web forms 2, o którym pisałem opisujac HTML5, będziemy mieli naprawdę zaawansowane narzędzia do tworzenia formularzy. Pytanie tylko kiedy?