Specyficzność selektorów CSS

Każda większa strona internetowa posiada duży (lub bardzo duży) zbiór reguł CSS, czasem umieszczonych w kilku plikach. Do tego nierzadko znaleźć można dodatkowe reguły wklejone w znaczniku <style />, a także wstrzyknięte inline definicje przez atrybut `style’ znaczników HTML (styl wewnętrzny).

Nie jest niczym dziwnym, że do jednego elementu w takich ogromie kodu zostanie przypasowana więcej niż jedna reguła. Może się zdarzyć, że reguły będą definiować te same właściwości wyglądu elementu w różny sposób. Jak w takiej sytuacji dojść do tego jak powinien wyglądać dany element? Odpowiedzią jest specyficzność (ang. specificity) każdego z selektorów. Można się także spotkać z określeniem „precyzja selektorów”. W przypadku kilku deklaracji będących ze sobą w konflikcie (np. 3-krotnej definicji koloru tekstu) wybrana zostaje ta definicja tego selektora, który ma najwyższą specyficzność. Czytaj dalej Specyficzność selektorów CSS

Książka: „HTML5. Zaawansowane programowanie”

HTML5. Zaawansowane programowanieHTML5. Zaawansowane programowanie

HTML5 zawitał na dobre pod strzechy wraz z najnowszymi wersjami popularnych przeglądarek. Oczywiście, nie wszystko jest już wspierane (na to WHATWG daje światu czas do 2022 r.), jednak nawet tylko część aktualnie zaimplementowana w najważniejszych przeglądarkach na rynku daje niesamowite możliwości.

Chciałbyś rysować na stronie (wektorowo czy też bitmapy?), chciałbyś mieć lepszą komunikację między zakładkami? Między stronami? Między sesjami (bez użycia ciasteczek)? Chcesz używać WebSocketów? A może policzyć coś w osobnym wątku bez blokowania interfejsu?

Tak, nadal mówię o programowaniu za pomocą natywnego JavaScript. Bez wtyczek. Bez kompilatorów. Bez problemów. Z użyciem nowych API dostarczanych przez specyfikacje HTML5.

Starczy reklamy technologii. O tym, że HTML5 będzie przyszłością sieci już chyba nie trzeba nikogo przekonywać. Natomiast na pewno warto zareklamować książkę „HTML5. Zaawansowane programowanie” autorstwa Petera Lubbersa, Briana Albersa i Franka Salima. Nie jest to książka, z której początkujący nie-programista nauczy się programować. Nie ta pozycja, nie taki cel postawili sobie autorzy. Natomiast każdy webdeveloper dobrze radzący sobie z programowaniem dostanie bardzo czytelny i przyjemny w lekturze przegląd nowych możliwości JavaScriptu. Każdy rozdział dotyczy innego API (m. in. canvas, websocket, web workers itp.). Nie jest to jedynie lista dostępnych pól nowych obiektów, ale konkretne „żywe” przykłady. Bardzo podobały mi się także ramki z dodatkowymi uwagami autorów – przestrogi przed możliwymi pułapkami, rady i pomocne uwagi. Czytaj dalej Książka: „HTML5. Zaawansowane programowanie”

Książka: „HTML5 i CSS3. Standardy przyszłości”

HTML5 i CSS3. Standardy przyszłościHTML5 i CSS3. Standardy przyszłości

Nadchodzi (kolejna!?) rewolucja w tworzeniu stron internetowych. A może już aplikacji webowych? Tym razem u jej podstaw stać będzie HTML5.

Czym jest HTML5?

To już nie tylko określenie nowej wersji starego, dobrze znanego HTML. To już jest słowo klucz jak Ajax, czy Web 2.0. Wszystko, co nowoczesne powoli zaczyna być po prostu określane mianem HTML5 – w tym nowe rozwiązania JavaScript (jak choćby Canvas, geolokalizacja, localstorage itp.) czy CSS3. Czytaj dalej Książka: „HTML5 i CSS3. Standardy przyszłości”

Walidacja formularzy – obsługa zdarzeń

Walidacja danych podanych przez użytkownika w formularzu to nic innego jak sprawdzenie, czy wszystkie wymagane pola zostały wypełnione, a następnie sprawdzenie czy ich wartość ma odpowiednią postać, np. numery telefonów, kod pocztowy, adres e-mail.

Wydaje się to dosyć proste. Jednak kiedy to wywołać?

Potencjalne rozwiązania

Czytaj dalej Walidacja formularzy – obsługa zdarzeń

Książka „Wstęp do HTML5 i CSS3”

Okładka Wstęp do HTML5 i CSS3

Internet rządzi światem. Może trochę przesadzona teza, jednak na pewno sporo w niej prawdy. Zabierzcie ludziom książkę, to przeżyją, zamknijcie kino lub nie dostarczcie gazety – dadzą radę. Odbieżcie im internet – zaczną się zamieszki.

Nie jest też niczym odkrywczym, że większość rzeczy jakich szukają ludzie w Internecie znajduje się na stronach WWW (lub aplikacjach webowych, czyli bardzo skomplikowanych stronach WWW). Nie dziwi zatem fakt, że technologie internetowe przeżywają teraz prawdziwą rewolucję. Od lat nie zmieniany HTML i CSS wreszcie doczekały się kolejnych generacji. Mowa tu o HTML5 oraz CSS3. Ich autorami nie są naukowcy czy teoretycy, którzy nie wiedzą czego chcą internauci. Szczególnie w przypadku HTML5 inicjatywa wyszła od WHATWG (m. in. Apple, Mozilla, Opera). Można zatem uznać, że z jednej strony są to ludzie, którzy wiedzą o co w kwestaich webowych chodzi, a z drugiej to w końcu producenci przeglądarek. Co zrobić z najlepszą technologią, jeśli nie jest wspierana przez żadną przeglądarkę?

Póki co na rynku wydawniczym o HTML5 i CSS3 nie pisze się zbyt wiele. W Polsce pozycja Bartosza Danowskiego jest jedną z pierwszych, jeśli nie pierwszą wydaną. Czytaj dalej Książka „Wstęp do HTML5 i CSS3”

AJAH – Ajax z HTML

Wysyłając żądanie do serwera za pomocą Ajaksa oczekujemy jakiejś odpowiedzi zwrotnej. Najprościej użyć czystego tekstu. Jeśli jednak mamy już używać czystego tekstu, dlaczego nie używać od razu fragmentu kodu HTML?

Technikę taką będę konsekwentnie nazywał AJAH (Asynchroniczny JavaScript i HTML). Choć jest to skrót wprowadzony przeze mnie – jak się okazało niepotrzebnie. Istniało wcześniej określenie „Asynchroniczny HTML i HTTP”. Dziękuję użytkownikowi o nicku „ja” za celną uwagę w komentarzu :).

Na początek

Na potrzeby tego artykułu potrzebujesz:

  • serwera WWW (może być WAMP)
  • przeglądarki
  • 5 minut

Czytaj dalej AJAH – Ajax z HTML

Ajax – kompendium wiedzy

AJAX – czyli Asynchroniczny Javascript i Xml jest nowoczesną [? ma już ponad 5 lat, a pewne techniki były możliwe od kilkunastu lat] popularną technologią [przecież Javascript to Javascript, a Xml to Xml. Gdzie tu nowa technologia?] popularnym rozwiązaniem wykorzystującym potencjał drzemiący w Javascript.

Zbiór technologii, czy osobna technologia?

Będę się jednak upierał, że zbiór technologii, które już istniały. Po prostu odpowiednie wykorzystanie tego, co już wcześniej było dostępne, ładnie nazwane. O ile łatwiej jest sprzedać „Ajax Chat” niż „Chat wykorzystujący asynchroniczne żądania wysyłany przy pomocy obiektu XMLHttpRequest/pływającej ramki”. Często Ajax jest dużo szerszym pojęciem, zahaczającym wręcz o DHTML. Ostatnia litera skrótu – X, oznacza XML, który wcale nie musi być wykorzystywany. Równie dobrze [a może nawet lepiej] operować na JSON, a z pewnością prościej [bardziej prostacko?] na czystym tekście.

Czytaj dalej Ajax – kompendium wiedzy